gpt4 book ai didi

php - fetch_assoc 如何知道您想要表中的下一行?

转载 作者:行者123 更新时间:2023-11-29 05:06:22 25 4
gpt4 key购买 nike

如果我们有这样的代码:

$result = $conn->query('SELECT username FROM users');
$row1 = $result->fetch_assoc();
echo $row1['username'], '<br>';
$row2 = $result->fetch_assoc();
echo $row2['username'], '<br>';

第二个 echo 会显示表中第二行的用户名,但为什么呢? fetch_assoc() 如何知道您想要下一行作为返回。它是否有一些内置计数器来计算它被调用的次数?

最佳答案

它保留指向返回行列表的指针。当查询返回数据时(即创建结果对象时),它会检索查询返回的所有行。

> row1 foo bar
row2 baz boo
row3 tst tmp

调用fetch_assoc时,返回指针指向的行,指针前进:

return_val = (row1, foo, bar)
increment pointer

row1 foo bar
> row2 baz boo
row3 tst tmp

return return_val

重复此操作,直到没有更多可返回的内容。 fetch_assoc 然后永远返回 null。

最后一部分允许您在 while 循环中自动使用它:

while ($row = $result->fetch_assoc()) {
// do something with $row
}

fetch_assoc 返回 null 时,while 循环终止并在循环外继续执行 - 并且已读取完整的结果集。

关于php - fetch_assoc 如何知道您想要表中的下一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253954/

25 4 0
文章推荐: java - Android 中的 SQLite : Foreign Keys and expected