mysql_fetch_assoc (): предоставленный аргумент не является допустимым ресурсом результатов MySQL

Возможный дубликат:
Предупреждение: mysql_fetch_array (): предоставленный аргумент не является допустимым результатом MySQL

Я действительно зациклился на этом, я получаю эту ошибку: mysql_fetch_assoc (): предоставленный аргумент не является допустимым ресурсом результата MySQL в «filename»,

Вот код:

$sql = "SELECT * FROM $tbl_name WHERE.... $result=mysql_query($sql); $row = mysql_fetch_assoc($result); 

Самое странное, что я использовал тот же самый код раньше, и он отлично работал

Есть идеи??

Это означает, что запрос завершился неудачно. Обычно это синтаксическая ошибка SQL. Чтобы узнать это, просто вставьте это прямо перед линией _fetch_assoc:

 print mysql_error(); 

Чтобы предотвратить сообщение об ошибке, структурируйте свой код, как это, чтобы проверить результат $ заранее:

 $sql = "SELECT * FROM $tbl_name WHERE...."; if ($result = mysql_query($sql)) { $row = mysql_fetch_assoc($result); } else print mysql_error(); 

Всегда запускайте все ваши запросы таким образом

 $sql = "SELECT * FROM $tbl_name WHERE...."; $res = mysql_query($sql) or trigger_error(mysql_error()." in ".$sql); $row = mysql_fetch_assoc($result); 

И вы будете уведомлены о причине ошибки.

Но никогда не печатайте и не позволяйте die () выводить какие-либо ошибки , так как это недостаток безопасности.

Эта ошибка обычно возникает из-за того, что из запроса не возвращаются данные. Убедитесь, что данные возвращаются, перейдя в нечто вроде PHPMyAdmin и убедившись, что запрос возвращает несколько строк. Вы также должны добавить

 or die(mysql_error()); 

В конце вашего запроса.