-1

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

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

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

4

1 回答 1

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'];
}
于 2013-08-25T21:12:12.813 回答