可能重复:mysql_fetch_array()期望参数1是资源,在select中给出布尔值
我收到以下警告:
警告:mysql_fetch_row()要求参数1为资源,在第355行的/home/content/97/9548797/html/test/index.php中给出布尔值
码:
$gresrow = mysql_fetch_row($gresult1);
while( $row = mysql_fetch_row( $gresult1 ) ){ $GDs[] = $row[0]; }
如何删除此警告消息?
4 回答
我打印出
mysql_error()
以查看错误消息是什么 .就个人而言,我认为打印SQL查询会有所帮助,尤其是在添加动态变量的情况下 . 这样,您就可以准确地读取正在生成和发送到MySQL的SQL .
通过执行此操作,它将允许您检查
$display
是否已设置..最后,我强烈建议您避免使用
mysql_
函数,因为它们很快就会被弃用 .您可能有MySQL错误 . 尝试将
or die(mysql_error());
放在mysql_query()
-line后面,告诉我们错误信息是什么!您的变量
$gresult1
似乎是一个布尔值,但它必须是mysql_query()
的结果 .我猜,
mysql_query()
返回FALSE . 您应首先检查您的查询是否成功 .这是抱怨,因为
gresult1
是一个布尔值 . 它是布尔值的原因是因为当你之前的调用(几乎肯定是mysql_query
)失败时它被设置为false .你需要解决这个问题 . 或者至少检测它而不是盲目地使用返回值,例如:
有一点需要注意,假设您在其他地方的评论中查询不仅仅是一个错字,是使用
$diplay
. 你可能想要检查你的意思是$display
(带有"s"
),因为一个不存在或格式错误的$diplay
变量几乎肯定会使查询无法解析,从而导致失败 .但是,即使情况并非如此,你需要弄清楚为什么之前的调用失败了 .