如何访问 MySQLi 结果集中的所有结果而不仅仅是第一个结果?

Barbara Streisand
发布: 2024-11-16 19:02:03
原创
650 人浏览过

How do I access all results in a MySQLi result set instead of just the first one?

如何访问 MySQLi 结果集中的结果

您的查询:

select uid from userbase 
登录后复制

您的循环:

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase");
while ($row = $output->fetch_array()) {
    $deviceToken = $row[$i];
    echo $deviceToken;
    $i++;
}
登录后复制

问题

您仅获取第一个值,因为 fetch_array() 从结果集中检索单行,并且您使用索引 $ i 访问该行中的元素。但是,后续的每一行都会有不同的索引,从而导致不正确的结果。

解决方案

迭代结果集有多种解决方案:

  • 逐一获取:

    使用 fetch_array() 一次获取一行,相应地调整索引:

    while ($row = $output->fetch_array()) {
        echo $row['uid'];
    }
    登录后复制
  • 使用 MySQLI 的迭代器:

    MySQLi 的 query() 方法可以用作可迭代对象,允许您按如下方式迭代结果:

    foreach ($output as $row) {
        echo $row['uid'];
    }
    登录后复制

注意:

您可以使用 MYSQLI_ASSOC 获取关联数组或 MYSQLI_NUM 获取索引数组作为结果集。

最佳实践

建议使用 MySQLi 的面向对象语法,因为它可以简化代码。此外,考虑迭代中行的索引以正确访问值也很重要。

以上是如何访问 MySQLi 结果集中的所有结果而不仅仅是第一个结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板