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 » PHP » SQL и Архитектура БД » Прежде, чем создавать тему

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

1. EuGen - 22 Декабря, 2009 - 15:19:06 - перейти к сообщению
Итак, постигаем таинство исправления подобных ошибок.
0. Проверяем, что же мы передали в функцию. С помощью var_dump. Если вывод похож на #Resuorce... то идем к следующему шагу, если нет - значит передается вообще не объект, и читаем http://php.su/functions/?mysql_fetch_array
1. Проверяем запрос на правильность. Скорее всего, ошибка там. Сделать можно с помощью mysql_error(). Там сразу станет ясно, что за ошибка и почему она произошла. Не подставилось значение переменной? Строка не взята в кавычки - этот пункт для Вас.
2. Если не ясно, что за ошибка произошла (но Вы все равно увидите, что она произошла, на пункте 1), проверяем следующее:
2.0 Подставляются ли значения переменных
2.1 Взяты ли в кавычки все строковые КОНСТАНТЫ (не поля). Под кавычками подразумевается вот это: 'текст в кавычках'
2.2 Не используются ли служебные слова MySQL в качестве имен полей/таблиц. К таким, например, относятся слова FROM, BETWEEN и т.п. Имена полей и таблиц следует в запросе взять в ОБРАТНЫЕ кавычки. Например: `good_table_name`
3. Возможен случай, когда ошибка произошла не из-за неправильного SQL-запроса. Это значит, есть проблемы в работе MySQL - сервера. И, значит, настройки стоит смотреть там.
4. Полезные ссылки:
4.0 http://phpfaq[dot]ru/debug
4.1 http://google[dot]com

 

Powered by ExBB FM 1.0 RC1