如何防止出现此错误:警告:mysql_fetch_assoc()期望参数1为资源,在第11行的…

我对此错误感到非常困惑,它显示了当我尝试从不存在的数据库中返回结果时...我尝试了,mysql_num_rows()但返回的错误却是相同的错误,而不是mysql_fetch_assoc期望中的错误mysql_num_rows()

我设置error_reporting(0)避免显示此错误,但是我对这种解决方案不满意...


德玛西亚99
浏览 646回答 3
3回答

12345678_0001

这是做事的正确方法:<?PHP$sql = 'some query...';$result = mysql_query($q);if (! $result){&nbsp; &nbsp;throw new My_Db_Exception('Database error: ' . mysql_error());}while($row = mysql_fetch_assoc($result)){&nbsp; //handle rows.}请注意(!$ result)上的检查-如果$ result是布尔值,则肯定为false,这意味着存在数据库错误,这意味着查询可能很糟糕。

慕雪6442864

您必须检查mysql_query返回的结果是否为false。$r = mysql_qyery("...");if ($r) {&nbsp; mysql_fetch_assoc($r);}您可以使用@mysql_fetch_assoc($r)以避免错误显示。
打开App,查看更多内容
随时随地看视频慕课网APP