Ответов: 2 Просмотров: 333
|
Плохой ответ:
Как это перевести с Английского?
SELECT * AS `Rows` , `shekilci`
Выбрать все под названиями Rows и shekilci ?
Во вторых, строки берут в одинарные кавычки. В обратные косые кавычки берут только названия столбцов, таблиц и баз данных. Rows это не название столбца (наверное) поэтому возьми его в одинарные кавычки.
Хороший ответ:
В принципе, для решения задачи в голове должен пройти такой конвеер:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
Внимание: функция получила не валидный параметр (дальше нихрена не понятно с этим результатами и ресурсами)
Что мы ей передали в качестве параметра? А. Результат функции mysql_query.
Пишет что параметр не валидный. Значит mysql_query вернула хрень какую-то.
Открываем php.net/mysql_query и смотрим в каким случаях оно возвращает не то, что нам надо.
Видим что функция возвращает false если произошла ошибка в запросе.
Где мы это видим? Тут:
Спойлер (Отобразить)
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.
У нас запрос SELECT. При удачном запросе оно возвращает ресурс, при неудачном false;
Вряд ли функция mysql_fetch_array ожидала получить в качестве параметра просто false;
А о том, что такое ресурс можно прочесть в Уроках по PHP на форуме. Уроки первый - типы данных.
Итак, произошла ошибка в запросе.
Как нам узнать какая была ошибка?
Вариант 1. Отрпавить такой же запрос через консколь или в phpmyadmin которые сообщат где ошибка.
Вариант 2. Найти способ получить текст ошибки. (phpmyadmin как то ведь это делают)
Вариант 2. Открываем список функций mysql , зажимаем Ctrl+F и пишем первое что приходит в голову. К примеру слово error. Быстренько находим функцию mysql_error которая сообщает в чем ошибка. |