我收到以下警告:
警告: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]; }
如何删除此警告消息?
我收到以下警告:
警告: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]; }
如何删除此警告消息?
我会打印出 amysql_error()以查看错误消息是什么。
echo mysql_error();
就个人而言,我认为将 SQL 查询打印出来会有所帮助,尤其是在向其中添加动态变量的情况下。这样您就可以准确地读取正在生成的 SQL 并将其发送到 MySQL。
$query = "SELECT id FROM users where parentid=$display";
echo $query;
通过这样做,它将允许您检查是否$display已设置..
最后,我强烈建议您避免使用这些mysql_函数,因为它们很快就会被弃用。
你可能有一个 MySQL 错误。试着把你的 -line放在or die(mysql_error());后面mysql_query(),告诉我们错误信息是什么!
它在抱怨,因为它gresult1 是一个布尔值。它是布尔值的原因是因为当您之前的调用(几乎可以肯定mysql_query)失败时它被设置为 false。
你需要解决这个问题。或者至少检测到它而不是盲目地使用返回值,比如:
$gresult1 = mysql_query("some dodgy non-functional query");
if (!$gresult1) {
# handle error elegantly, then return
}
# NOW you can use gresult1 safely.
要寻找的一件事是,假设您在其他地方的评论中的查询不仅仅是一个错字,那就是使用$diplay. 您可能需要检查您的意思是否$display(使用"s"),因为不存在或格式$diplay错误的变量几乎肯定会使查询无法解析,从而导致失败。
但是,即使情况并非如此,您也需要弄清楚早期调用失败的原因。
您的变量$gresult1似乎是一个布尔值,但它必须是来自mysql_query().
我猜,mysql_query()返回 FALSE。您应该首先检查您的查询是否成功。