PDO获取循环永远不会结束


PDO fetch loop never ends

我有一个永不结束的循环,它只从数据库中提取一条记录。

我有一个返回列表的类,然后我在一个网站上调用该类函数,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;
}
?>

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

首先,放弃从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'];
}