| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > функция mysql_fetch_array() |
| Автор: offline 6.7.2009, 10:39 |
| Подскажите пожалуйста, где ошибка Есть вот такой код. $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 как это исправить? |
| Автор: skyboy 6.7.2009, 10:53 | ||
| значит, так. необходимые шаги для исправления. 0. при написании постов для подсветки кода использовать тег [соde] 1. для определения ошибки использовать http://php.net/mysql_error
mysql_error покажет тебе ошибку выполнения запроса. 2. читать соседние топики на форуме, для перенятия полезных привычек и навыков(использование того же mysql_error) |
| Автор: offline 6.7.2009, 11:00 |
| все понял, спасибо!!! вместо БД указал имя таблицы |
| Автор: Ипатьев 6.7.2009, 14:14 |
| Строго говоря, die() является плохой практикой. Обрывать выполнение программы на середине не очень красиво. А такие паттерны приживаются и перекочевывают из учебного в производственный код. Я бы предложил использовать функцию trigger_error(), которая, в зависимости от настроек отображения ошибок, выведет сообщение mysql либо на экран, либо в лог. А вместо die использовать другие средства управления программой. goto например %) |
| Автор: bars80080 6.7.2009, 14:19 |
goto? а оно разве в пхп существует? |
| Автор: lelik133 6.7.2009, 14:25 |
| в 5.3 добавили http://ru2.php.net/manual/ru/control-structures.goto.php но пользоваться ей дурной тон имхо |
| Автор: bars80080 6.7.2009, 14:41 |
угу, а прям в документации такая иллюстрация:![]() |
| Автор: skyboy 6.7.2009, 14:57 |
даже "нестрого говоря", die, выводящий информацию о проблеме пользователю и не доносящий информацию разработчику - вещь вредная и совершенно ненужная. но как по мне, поэтапно проще усваивается: сначала выясняем, как получить отладочную информацию, а потом уже - когда возникнет необходимость - выясняем, как эту информацию скрыть от пользователя и сохранить для разработчика. а начал бы про trigger_error говорить, а у вопрошающего в конфиге display_errors 0 - и все, надо объяснять, что это не рекомендация лагает, а ещё и конфиг править надо. |