gpt4 book ai didi

php - 在 while 循环中使用 mysqli_fetch_array 时,PHP/MySQL 如何知道获取下一行?

转载 作者:行者123 更新时间:2023-11-29 02:27:46 25 4
gpt4 key购买 nike

代码如下:

<?php
$q = 'SELECT * FROM categories ORDER BY category';
$r = mysqli_query($dbc,$q);
while (list($id,$category) = mysqli_fetch_array($r,MYSQLI_NUM)) {
echo '<li><a href="category.php?id=' . $id . '" title="' . $category . '">' . $category . '</a></li>';
}
?>

看起来好像变量名称 $id 和 $category 被分配给通过循环的每次迭代从数据库中获取的单个行。每次循环重新开始时,都会选择下一行。 我的问题是:它如何知道选择表格中的下一行?

它不像行被索引,这样一个“for”循环就可以遍历表的所有行。谁能给我解释一下?

最佳答案

简单地说:因为它实现了traversable .只需查找 mysqli_result class definition在 PHP 站点上,因为它会这样说明。实际上,您也可以通过(正确地)实现 Iterator 来使用自己的类来做到这一点。这将允许该类的对象以与 mysqli_result 完全相同的方式遍历。另外,如果您查看 page for iterator在示例下,您将找到一个基本模型,说明如何在 mysqli_result 等类中管理它。

关于php - 在 while 循环中使用 mysqli_fetch_array 时,PHP/MySQL 如何知道获取下一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18435837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com