如何使用多次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
}
}
答案 0 :(得分:2)
这是因为光标在最后。所以你必须重置光标。
http://us.php.net/manual/en/pdostatement.closecursor.php
通常在MySQL中你可以使用MySQL Free结果。
答案 1 :(得分:2)
虽然没有严格回答你的问题,为什么不看看$stmt->fetchAll
的PDO语句为你处理循环并返回完整的关联数组?为您节省大量时间!