Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нубские вопросы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
WabFad
Отправлено: 28 Сентября, 2011 - 23:08:02
Post Id



Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Прошу сильно не бить за столь нубские вопросы. Кому не сложно, объясните пожалуйста.
Вот сегодня начал учить php+mysql. Прочитав теорию застрял на первом же примере, пробуя заставить его работать.
Вот к примеру на сайте есть
Такой код (Отобразить)


Встает серия вопросов. Откуда он берет $db?
Если прописать выше
$db="dbname"
то скрипт просто не запускается.

Если я пытаюсь создать эту таблицу

Таким кодом (Отобразить)


Скрипт опять же не запускается, сижу над этим второй час, помогите кому не трудно..
 
 Top
Vet
Отправлено: 28 Сентября, 2011 - 23:14:21
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




WabFad пишет:
Если прописать выше

Попробуйте прописать после тега <?php
или вместо $db в 14-й строке напишите имя базы в кавычках
(Добавление)
WabFad пишет:
CREATE TABLE mytable
{
email char(40) NOT NULL,
name char(40) NOT NULL,
month char(40) NOT NULL,
day char(40) NOT NULL
}


С PHP такие штуки не прокатят...
Тут надо с уважением:
PHP:
скопировать код в буфер обмена
  1. $create = "CREATE TABLE IF NOT EXISTS `mytable` (
  2.  `email` CHAR( 40 ) NOT NULL ,
  3.  `name` CHAR( 40 ) NOT NULL ,
  4.  `month` CHAR( 40 ) NOT NULL ,
  5.  `day` CHAR( 40 ) NOT NULL
  6. ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;";
  7. $sql = mysql_query($create);

(Отредактировано автором: 28 Сентября, 2011 - 23:29:00)

 
 Top
Саныч Модератор
Отправлено: 29 Сентября, 2011 - 01:02:22
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




WabFad пишет:
Откуда он берет $db?
Тут всего 2 варианта: либо вы привели не весь код, либов нем ошибка.
WabFad пишет:
Если прописать выше
$db="dbname"
то скрипт просто не запускается.
ошибочка, точку с запятой забыли

Вобщем советую вам сразу после <?php добавить следующий код
Думаю, узнаете много нового


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Bio man
Отправлено: 29 Сентября, 2011 - 07:27:04
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




а что это за licalhost? На локалке обычно localhost. Как у вас сервер установлен? Сами отдельно ставили или сразу пакетом, типо денвера? $db надо прописать самому если отсутствует. И убедитесь что юзернэйм и пасворд в БД совпадают с выше приведенными.
 
 Top
WabFad
Отправлено: 29 Сентября, 2011 - 19:08:14
Post Id



Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Vet пишет:

WabFad пишет:
CREATE TABLE mytable
{
email char(40) NOT NULL,
name char(40) NOT NULL,
month char(40) NOT NULL,
day char(40) NOT NULL
}


С PHP такие штуки не прокатят...
Тут надо с уважением:
PHP:
скопировать код в буфер обмена
  1. $create = "CREATE TABLE IF NOT EXISTS `mytable` (
  2.  `email` CHAR( 40 ) NOT NULL ,
  3.  `name` CHAR( 40 ) NOT NULL ,
  4.  `month` CHAR( 40 ) NOT NULL ,
  5.  `day` CHAR( 40 ) NOT NULL
  6. ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;";
  7. $sql = mysql_query($create);


Большущее спасибо! Т.е. сначала присваиваем любой sql запрос переменной, и уже потом используем его при помощи mysql_query()? Единственное что остается не ясным, почему к ней присвоена переменная $sql?
---
Саныч пишет:
ошибочка, точку с запятой забыли

Да! Точно!) Поставил все заработало, синтаксис хромает пока что Улыбка
----
Bio man пишет:
а что это за licalhost? На локалке обычно localhost. Как у вас сервер установлен? Сами отдельно ставили или сразу пакетом, типо денвера? $db надо прописать самому если отсутствует. И убедитесь что юзернэйм и пасворд в БД совпадают с выше приведенными.

не-не, там все верно. я на хостинге работаю, сюда просто написал что бы данные не палить и чуть опечатался.


Большое спасибо за помощь! Закатив глазки
 
 Top
Vet
Отправлено: 29 Сентября, 2011 - 19:55:44
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




WabFad пишет:
Т.е. сначала присваиваем любой sql запрос переменной, и уже потом используем его при помощи mysql_query()? Единственное что остается не ясным, почему к ней присвоена переменная $sql?


Можно, по сути, и без нее. В эту переменную "записывается" true при успешно выплненном запросе, и false - при ошибке.

Это удобно использовать для обработки ошибок. Например, так:

PHP:
скопировать код в буфер обмена
  1. $sel = "SELCT * FROM `users`"; // Не SELECT (как правильно), а SELCT (ошибка)
  2. $query = mysql_query($sel);
  3. if(!$query) die ("Ошибочка в обработке запроса");


В результате появится "Ошибочка в обработке запроса"
 
 Top
LIME
Отправлено: 29 Сентября, 2011 - 22:46:49
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Vet пишет:
В эту переменную "записывается" true при успешно выплненном запросе, и false - при ошибке.
совершенно не так
при ошибке да...а при успехе будет присвоен дескриптор соединения...число...
точно не 0 потому что 0 это дескриптор стандартного ввода/вывода и это делает удобным применение того что вы писали выше
так же и с файлами fopen()
(Добавление)
и нужно это чтобы потом идентифицировать откуда из какого соединения мы берем/кладем данные
их же может быть несколько открыто
 
 Top
Vet
Отправлено: 29 Сентября, 2011 - 23:20:56
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




LIME пишет:
Vet пишет:
В эту переменную "записывается" true при успешно выплненном запросе, и false - при ошибке.
совершенно не так
при ошибке да...а при успехе будет присвоен дескриптор соединения...число...
точно не 0 потому что 0 это дескриптор стандартного ввода/вывода и это делает удобным применение того что вы писали выше
так же и с файлами fopen()
(Добавление)
и нужно это чтобы потом идентифицировать откуда из какого соединения мы берем/кладем данные
их же может быть несколько открыто


Да да. Конечно. Чего-то я ступил... Извиняюсь...
 
 Top
WabFad
Отправлено: 29 Сентября, 2011 - 23:53:49
Post Id



Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




С этим понятно (в большинстве).
Я наверное уже достал, но я опять встал на месте.

Теперь вопрос касательно записи и чтения.
Просто записывать получается.
Записать из формы input с 8 часов не получается. Сдаюсь)

вот тот бред что у меня получился

Тут наверняка море несоответствий, т.к. я смотрел на разных примерах..

в общем скрипт запускается но в бд не записывает..

Спойлер (Отобразить)


Если там полнейший бред, далекий от того что должно быть..может кто то кинуть линк на доступный мануал про это //гуглил input mysql, формы mysql.. ничего толкового не нашел.

Или если не сложно на пальцах объяснить, допустим два поля. тот же тайтл и текст, как их записать в бд с html формы?

Заранее огромное спасибо! Вы мне очень помогли, надеюсь не достал всех нубством... я только учусь Книжка
 
 Top
LIME
Отправлено: 30 Сентября, 2011 - 00:14:59
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Спойлер (Отобразить)

(Отредактировано автором: 30 Сентября, 2011 - 00:41:53)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB