使用while mysqli_fetch_array导致死循环

我是php初学者,一直用

while ($t = mysqli_fetch_array(mysqli_query($conn, $sql))) {
    $rs[count($rs)] = $t;

}

这样的语句获得查询结果,但今天出问题了,循环不会停止,很苦恼。具体代码:

$courseID=13;
...
$sql_reply = "select * from reply where relate_course_id='" . $courseID . "'";
$rs_reply = array();
while ($t = mysqli_fetch_array(mysqli_query($conn, $sql_reply))) {
    //var_dum(&t);
    $rs_reply[count($rs_reply)] = $t;

}

reply表中只有一条数据,但while循环会不停的取这一条数据导致超过30s后台挂掉(循环中若加入var_dum(&t)会不停输出重复数据),可是单独拿这句sql查询去执行是可以得到正确结果的。把表清空后while循环正常,现在是只要表中有数据,while循环就不会停止......求教原因,十分感谢!

阅读 2.1k
1 个回答

发现原因,为了图省事犯了个很低级的错误...应该把mysqli_query($conn, $sql)提出来先执行:

$r=mysqli_query($conn, $sql);
while ($t = mysqli_fetch_array($r)) {
    $rs[count($rs)] = $t;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题