Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функция mysql_fetch_array() 
:(
    Опции темы
offline
Дата 6.7.2009, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: нет
Всего: 7



Подскажите пожалуйста, где ошибка

Есть вот такой код.

$db = mysql_connect("localhost","user","pass");
mysql_select_db ("infoseute",$db);
$result = mysql_query("SELECT title FROM infoseite WHERE page='index'",$db);

$myrow = mysql_fetch_array($result);

при выполнении кода выдается ошибка

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\virtual\mytest.webhop.net\index.php on line 5


как это исправить?

PM MAIL   Вверх
skyboy
Дата 6.7.2009, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



значит, так.
необходимые шаги для исправления.
0. при написании постов для подсветки кода использовать тег [соde]
1. для определения ошибки использовать mysql_error
Код

$db = mysql_connect("localhost","user","pass");
mysql_select_db ("infoseute",$db);
$result = mysql_query("SELECT title FROM infoseite WHERE page='index'",$db);
if(!$result)
    die(mysql_error());
$myrow = mysql_fetch_array($result);

mysql_error покажет тебе ошибку выполнения запроса.
2. читать соседние топики на форуме, для перенятия полезных привычек и навыков(использование того же mysql_error)
PM MAIL   Вверх
offline
Дата 6.7.2009, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

Репутация: нет
Всего: 7



все понял, спасибо!!! вместо БД указал имя таблицы
PM MAIL   Вверх
Ипатьев
Дата 6.7.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Строго говоря, die() является плохой практикой. Обрывать выполнение программы на середине не очень красиво. А такие паттерны приживаются и перекочевывают из учебного в производственный код.
Я бы предложил использовать функцию trigger_error(), которая, в зависимости от настроек отображения ошибок, выведет сообщение mysql либо на экран, либо в лог. А вместо die использовать другие средства управления программой. goto например %)
PM MAIL   Вверх
bars80080
Дата 6.7.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(Ипатьев @  6.7.2009,  14:14 Найти цитируемый пост)
goto например %) 

goto? а оно разве в пхп существует?
PM MAIL WWW   Вверх
lelik133
Дата 6.7.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 3
Всего: 14



в 5.3 добавили http://ru2.php.net/manual/ru/control-structures.goto.php
но пользоваться ей дурной тон имхо
PM ICQ   Вверх
bars80080
Дата 6.7.2009, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



угу, а прям в документации такая иллюстрация:

user posted image
PM MAIL WWW   Вверх
skyboy
Дата 6.7.2009, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260



Цитата(Ипатьев @  6.7.2009,  13:14 Найти цитируемый пост)
Строго говоря, die() является плохой практикой. 

даже "нестрого говоря", die, выводящий информацию о проблеме пользователю и не доносящий информацию разработчику - вещь вредная и совершенно ненужная.
но как по мне, поэтапно проще усваивается: сначала выясняем, как получить отладочную информацию, а потом уже - когда возникнет необходимость - выясняем, как эту информацию скрыть от пользователя и сохранить для разработчика.
а начал бы про trigger_error говорить, а у вопрошающего в конфиге display_errors 0 - и все, надо объяснять, что это не рекомендация лагает, а ещё и конфиг править надо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0632 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.