我对此错误感到非常困惑,它显示了当我尝试从不存在的数据库中返回结果时...我尝试了,mysql_num_rows()但返回的错误却是相同的错误,而不是mysql_fetch_assoc期望中的错误mysql_num_rows()。我设置error_reporting(0)避免显示此错误,但是我对这种解决方案不满意...
3 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
这是做事的正确方法:
<?PHP
$sql = 'some query...';
$result = mysql_query($q);
if (! $result){
throw new My_Db_Exception('Database error: ' . mysql_error());
}
while($row = mysql_fetch_assoc($result)){
//handle rows.
}
请注意(!$ result)上的检查-如果$ result是布尔值,则肯定为false,这意味着存在数据库错误,这意味着查询可能很糟糕。
慕雪6442864
TA贡献1812条经验 获得超5个赞
您必须检查mysql_query返回的结果是否为false。
$r = mysql_qyery("...");
if ($r) {
mysql_fetch_assoc($r);
}
您可以使用@mysql_fetch_assoc($r)以避免错误显示。
添加回答
举报
0/150
提交
取消