迭代 MySQLi 结果集
在 PHP 中,可以使用 mysqli_query() 方法来迭代 MySQL 查询的结果。
要循环遍历查询的结果集 select uid from userbase,您可以使用以下循环:
$output = mysqli_query($mysqli, "select uid from userbase"); foreach ($output as $row) { echo $row['uid']; }
此循环将正确获取并显示结果集中每一行的 uid 值。它利用 MySQLi 的面向对象语法,比过程式语法更加简洁和高效。
潜在错误
您在代码中遇到的错误可能是由于使用 fetch_array() 以及生成包含索引键和关联键 (MYSQLI_BOTH) 的结果集的默认行为而导致。要解决此问题,您可以使用 MYSQLI_ASSOC 或 MYSQLI_NUM 作为 fetch_array() 的第二个参数来指定所需的行为。
或者,您可以通过使用 mysqli_query() 作为可迭代对象来完全避免使用 fetch_array(),从而消除需要在每次迭代时调用 fetch_array() row.
更正迭代
您提供的代码还包含不正确的迭代方案。 $i 变量应在循环内递增,以访问结果集中从索引 0 开始的后续行。
因此,使用 fetch_array() 的正确迭代将是:
$i = 0; $output = mysqli_query($mysqli, "select uid from userbase"); while ($row = $output->fetch_array(MYSQLI_ASSOC)) { echo $row['uid']; $i++; }
以上是如何在 PHP 中高效地迭代 MySQLi 结果集?的详细内容。更多信息请关注PHP中文网其他相关文章!