我收到以下警告:
警告: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。您应该首先检查您的查询是否成功。