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

时间:2012-08-28 12:11:30

标签: php sqlite pdo

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

2 个答案:

答案 0 :(得分:2)

这是因为光标在最后。所以你必须重置光标。

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

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

pdo free result

答案 1 :(得分:2)

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