解决 mysqli_fetch_array() 困境
尝试在同一结果集上多次使用 mysqli_fetch_array() 可能会导致数据无法访问。出现这种情况是因为 mysqli_fetch_array() 增量消耗结果。
数据操作分离
要避免此问题,请将数据操作与输出分开。这是一种改进的方法:
1.数据选择
$db_res = mysqli_query($db_link, $sql); $data = array(); while ($row = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) { $data[] = $row; }
或者,在 PHP 5.3 中使用 fetch_all() :
$db_res = mysqli_query($db_link, $sql); $data = $db_res->fetch_all(MYSQLI_ASSOC);
此步骤将整个结果集检索到数组 $data 中。
2。数据使用
现在,您可以多次迭代$data,而不会影响结果集。
顶行
foreach ($data as $row) {
以上是为什么 mysqli_fetch_array() 重复使用时失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!