我有一个永不停止的循环,它只从数据库中拉出一条记录。
我有一个返回列表的类,然后我在一个网站上调用该类函数,其中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;
}
?>
它从数据库中提取一条记录,但它不会停止循环,它应该循环一次。
答案 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'];
}