一尘不染

如何防止出现此错误:警告:mysql_fetch_assoc()期望参数1为资源,在第11行的…中给出布尔值[重复]

mysql

这个问题已经在这里有了答案

7年前关闭。

可能重复:

PHP错误:mysql_fetch_array()期望参数1为资源,给定布尔值

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

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


阅读 202

收藏
2020-05-17

共1个答案

一尘不染

这是做事的正确方法:

<?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,这意味着存在数据库错误,这意味着查询可能很糟糕。

2020-05-17