PDO获取循环永远不会结束

时间:2013-08-25 21:04:05

标签: php pdo

我有一个永不停止的循环,它只从数据库中拉出一条记录。

我有一个返回列表的类,然后我在一个网站上调用该类函数,其中while循环永远不会停止回显数据。

class exampleclass
{
public function get_list()
{
$query = $dbh->prepare("SELECT .. blah);
$query->bindParam("blah");
$query->execute();
return $query->fetch(PDO::FetchObj);
}
我在网页上

<?php
testobj = new exampleclass();
while ($obj = $testobj->get_list())
{
echo $obj->db_field;
}
?>

它从数据库中提取一条记录,但它不会停止循环,它应该循环一次。

1 个答案:

答案 0 :(得分:1)

首先,退出从DB行创建对象的想法。他们看起来很花哨但完全没用。 然后了解如何返回整个结果以及如何正确地迭代它:

public function get_list()
{
    $stmt = $dbh->prepare("SELECT .. blah");
    $query->execute(array("blah"));
    return $query->fetchAll();
}

testobj = new exampleclass();
foreach ($testobj->get_list() as $row)
{
    echo $row['db_field'];
}