首页  >  文章  >  后端开发  >  如何在 PHP 中高效地迭代 MySQLi 结果集?

如何在 PHP 中高效地迭代 MySQLi 结果集?

DDD
DDD原创
2024-11-23 04:04:171022浏览

How to Efficiently Iterate Through MySQLi Result Sets in PHP?

迭代 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn