1

如何使用多次 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
    }
}
4

2 回答 2

2

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

于 2012-08-28T12:17:51.803 回答
2

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

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

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

pdo 免费结果

于 2012-08-28T12:15:16.240 回答