首页  >  文章  >  后端开发  >  如何在同一结果集上多次使用“mysqli_fetch_array()”?

如何在同一结果集上多次使用“mysqli_fetch_array()”?

DDD
DDD原创
2024-11-02 08:15:03491浏览

How Can I Use `mysqli_fetch_array()` Multiple Times on the Same Resultset?

多次使用 mysqli_fetch_array()

使用 PHP 和 MySQL 处理数据库时,您可能会遇到需要多次访问相同查询结果的情况使用 mysqli_fetch_array() 函数。但是,尝试在同一结果集中多次使用 mysqli_fetch_array() 将导致空输出。

这是因为 mysqli_fetch_array() 提取并推进结果集中的指针。因此,如果您尝试再次获取相同的结果,将没有任何数据可供检索。

要解决此问题,您应该将数据操作与输出分开。首先,从数据库中获取所有数据并将其存储在数组中:

<code class="php">$db_res = mysqli_query($db_link, $sql);
$data = [];
while ($row = mysqli_fetch_assoc($db_res)) {
    $data[] = $row;
}</code>

注意:从 PHP 5.3 开始,您可以使用 fetch_all() 代替显式循环:

<code class="php">$db_res = mysqli_query($db_link, $sql);
$data = $db_res->fetch_all(MYSQLI_ASSOC);</code>

将数据存储在数组中后,您可以根据需要多次迭代它:

顶行:

<code class="php">foreach ($data as $row) {</code>

以上是如何在同一结果集上多次使用“mysqli_fetch_array()”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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