【问题标题】:How to use multiple time PHP PDO return object?如何使用多次 PHP PDO 返回对象?
【发布时间】:2012-08-28 12:11:30
【问题描述】:

如何使用 PHP PDO 多次返回对象?

根据我下面的代码,$result 对象在 while 循环中不显示任何数据。

我的代码

try {
    $dbhandle = new PDO("sqlite:".$database);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

$result=$dbhandle->query("select * from table");

if($result)
{
    $row=$result->fetch(PDO::FETCH_ASSOC)

    if(count($row)>0)
    {
        while ($rs1 = $result->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_NEXT)) 
        {
            echo "<pre>";
            print_r($rs1);
            echo "</pre>";
        }
    }
    else
    {
        // error message
    }
}

【问题讨论】:

    标签: php sqlite pdo


    【解决方案1】:

    这是因为光标在末尾。所以你必须重置光标。

    http://us.php.net/manual/en/pdostatement.closecursor.php

    通常在 MySQL 中您可以使用 MySQL Free 结果。

    pdo free result

    【讨论】:

    • 请给我一些关于closecursor的建议或例子,我没有得到。
    • 关闭游标似乎不会将游标重置到开头,从而允许更多的 fetch 语句。一个 fetchAll 后跟一个 closeCursor 和另一个 fetch 返回一个空行。
    【解决方案2】:

    虽然没有严格回答您的问题,但您为什么不看一下带有 PDO 语句的 @987654321@,它会为您处理循环并返回完整的关联数组?为您节省大量时间!

    【讨论】:

      猜你喜欢
      • 2019-04-12
      • 2012-07-29
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多