可能重复:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
我真的坚持这个,我得到了这个错误: mysql_fetch_assoc():提供的参数不是“filename”
中的有效MySQL结果资源以下是代码:
$sql = "SELECT * FROM $tbl_name WHERE....
$result=mysql_query($sql);
$row = mysql_fetch_assoc($result);
奇怪的是,之前我使用了完全相同的代码,并且工作正常
任何想法??
答案 0 :(得分:4)
这意味着查询失败。通常这是一个SQL语法错误。要找到答案,只需在_fetch_assoc行之前插入:
print mysql_error();
要防止出现错误消息,请像这样构造代码以预先检查$ result:
$sql = "SELECT * FROM $tbl_name WHERE....";
if ($result = mysql_query($sql)) {
$row = mysql_fetch_assoc($result);
}
else print mysql_error();
答案 1 :(得分:1)
始终以这种方式运行所有查询
$sql = "SELECT * FROM $tbl_name WHERE....";
$res = mysql_query($sql) or trigger_error(mysql_error()." in ".$sql);
$row = mysql_fetch_assoc($result);
您将收到错误原因的通知。
但从不打印或让die()输出任何错误,因为它存在安全漏洞。
答案 2 :(得分:0)
通常会发生此错误,因为查询中未返回任何数据。通过进入类似PHPMyAdmin的内容确保返回数据,并确保查询返回一些行。你还应该添加
or die(mysql_error());
在查询结束时。