Возможный дубликат:
Предупреждение: mysql_fetch_array (): предоставленный аргумент не является допустимым результатом MySQL
Я пробовал все, что мог придумать, но я продолжаю получать эту ошибку.
Mysql_fetch_assoc (): предоставленный аргумент не является допустимым ресурсом результата MySQL в / url / в строке 41
if ( $_POST[submit] == "Submit" ) { $sql="INSERT INTO table (`content`, `userid`, `ttime`) VALUES ('$_POST[content]', '".$user_id."', '".time()."')"; $res = mysql_query($sql,$link) or die(mysql_error()); /* (line 41 is the following)*/ while($result = mysql_fetch_assoc($res)) { } }
Я попробовал распечатать ошибку (ни одна ошибка не выводит только предупреждение), я попытался изменить запрос, все, что я мог придумать. Код работает просто отлично – он вставляет клик, все в порядке, только это предупреждение появляется ._. '
Есть идеи?
Из документации php на mysql_query()
Возвращаемые значения
Для SELECT, SHOW, DESCRIBE, EXPLAIN и других операторов, возвращающих набор результатов, mysql_query () возвращает ресурс с успехом или FALSE при ошибке.
Для других типов операторов SQL INSERT, UPDATE, DELETE, DROP и т. Д. Mysql_query () возвращает TRUE при успешном завершении или FALSE при ошибке.
Возвращенный ресурс результата должен быть передан mysql_fetch_array () и другим функциям для обработки таблиц результатов для доступа к возвращенным данным.
Используйте mysql_num_rows (), чтобы узнать, сколько строк было возвращено для оператора SELECT или mysql_affected_rows (), чтобы узнать, сколько строк было затронуто операцией DELETE, INSERT, REPLACE или UPDATE.
mysql_query () также выйдет из строя и вернет FALSE, если у пользователя нет разрешения на доступ к таблицам, на которые ссылается запрос.
Вы не можете получить результат из запроса INSERT.
Вы пытаетесь получить строку данных из запроса, который не является запросом SELECT. Вы можете получать только связанные массивы из набора данных результата. Запрос INSERT просто выполняет свою задачу.