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
Форумы портала PHP.SU :: Версия для печати :: Нубские вопросы
Форумы портала PHP.SU » » Вопросы новичков » Нубские вопросы

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

1. WabFad - 28 Сентября, 2011 - 23:08:02 - перейти к сообщению
Прошу сильно не бить за столь нубские вопросы. Кому не сложно, объясните пожалуйста.
Вот сегодня начал учить php+mysql. Прочитав теорию застрял на первом же примере, пробуя заставить его работать.
Вот к примеру на сайте есть
Такой код (Отобразить)


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

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

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


Скрипт опять же не запускается, сижу над этим второй час, помогите кому не трудно..
2. Vet - 28 Сентября, 2011 - 23:14:21 - перейти к сообщению
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);
3. Саныч - 29 Сентября, 2011 - 01:02:22 - перейти к сообщению
WabFad пишет:
Откуда он берет $db?
Тут всего 2 варианта: либо вы привели не весь код, либов нем ошибка.
WabFad пишет:
Если прописать выше
$db="dbname"
то скрипт просто не запускается.
ошибочка, точку с запятой забыли

Вобщем советую вам сразу после <?php добавить следующий код
Думаю, узнаете много нового
4. Bio man - 29 Сентября, 2011 - 07:27:04 - перейти к сообщению
а что это за licalhost? На локалке обычно localhost. Как у вас сервер установлен? Сами отдельно ставили или сразу пакетом, типо денвера? $db надо прописать самому если отсутствует. И убедитесь что юзернэйм и пасворд в БД совпадают с выше приведенными.
5. WabFad - 29 Сентября, 2011 - 19:08:14 - перейти к сообщению
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 надо прописать самому если отсутствует. И убедитесь что юзернэйм и пасворд в БД совпадают с выше приведенными.

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


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


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

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

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


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


Да да. Конечно. Чего-то я ступил... Извиняюсь...
9. WabFad - 29 Сентября, 2011 - 23:53:49 - перейти к сообщению
С этим понятно (в большинстве).
Я наверное уже достал, но я опять встал на месте.

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

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

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

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

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


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

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

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

 

Powered by ExBB FM 1.0 RC1