【问题标题】:mysqli_fetch_row how does it works with while loop?mysqli_fetch_row 它如何与 while 循环一起工作?
【发布时间】:2016-06-02 12:28:49
【问题描述】:

while() 循环中每次调用 mysqli_fetch_array($result) 时; 它怎么知道它必须从我们保存在 $result 中的数据库查询结果中获取另一行?

它如何知道 $result 中的所有行都已获取?

【问题讨论】:

标签: php


【解决方案1】:

$result 指向一个保持某种内部状态的对象,一个游标。此游标指向下一个要获取的行。每次调用 mysqli_fetch_array() 时,它都会获取下一个结果,并更新游标,直到到达最后一行,然后返回 false,while() 终止。

看到这个answer

【讨论】:

  • 目前还不清楚它是如何工作的......?我的意思是正确的功能.. 它背后的技术
  • 您可以在 James Everest 的回答下查看此处的代码示例 (stackoverflow.com/questions/10503216/…) - 它有一个很好的带有 PHP 类的独立示例。
【解决方案2】:

每次您调用 mysqli_fetch_array 时,它都会从您的查询中提取下一行。当 mysqli_fetch_array 仍然有一些东西要分配给变量 $row 时,while 循环一直返回 true。一旦它超出行数,它就没有任何东西可以提供变量,并且返回 false。

更多详情请看Answer

【讨论】:

    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 2018-04-03
    • 2011-08-06
    • 1970-01-01
    • 2013-07-06
    相关资源
    最近更新 更多