【问题标题】:Do subsequent calls to mysqli_fetch_object return the next row?对 mysqli_fetch_object 的后续调用是否返回下一行?
【发布时间】:2015-12-28 23:39:16
【问题描述】:

我想知道每次对 mysqli_fetch_object 的后续调用都会返回结果集中的下一行,就像 mysqli_fetch_row 一样?或者为什么以下代码中需要while循环:

while($obj=mysqli_fetch_object($result)){
    printf("%s %s\n", $obj->lastname, $obj->age);
}

【问题讨论】:

    标签: php object mysqli fetch


    【解决方案1】:

    我强烈建议您查看有关函数的 PHP 文档以了解其运行方式。 This doc page 应该可以帮助你消化和理解它的实际作用。

    总结

    简而言之,您所使用的示例将采用$result,这是一个myqsli_query() 结果并为当前行创建一个对象。

    while 循环用于循环整个查询结果。反过来,这会为每一行创建一个对象(在同一变量 $obj 下)。

    从文档中提取的一个示例:

    $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
    
    if ($result = mysqli_query($link, $query)) {
    
    /* fetch associative array */
    while ($obj = mysqli_fetch_object($result)) {
        printf ("%s (%s)\n", $obj->Name, $obj->CountryCode);
    }
    
    /* free result set */
    mysqli_free_result($result);
    }
    

    返回,例如

    Pueblo (USA)
    Arvada (USA)
    Cape Coral (USA)
    Green Bay (USA)
    Santa Clara (USA)
    

    P.S.如果你使用 Sublime Text,这个插件在跳转到文档方面非常棒:https://github.com/kemayo/sublime-text-2-goto-documentation

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 2015-05-31
      • 1970-01-01
      • 2016-10-01
      • 2020-05-10
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多