PHP:while循环与fetch数组永远运行?

时间:2018-05-27 15:05:56

标签: php mysql mysqli

我试图显示数据库中的所有记录,但它只是发送大约1,000个垃圾邮件,直到它最终达到30秒超时。我在数据库中只有3条记录,不确定它为什么会这样做?

while($news = $engine->fetch_array("SELECT * FROM `cms_news` ORDER BY `id` DESC"))
{
    echo 'lol<br>';
}

&#34;洛尔&#34;在最终超时(超出执行时间)之前被打印数百次

以下是$ engine类的fetch_array函数:

final public function fetch_array($sql)
{
    $result = $this->connection->query($sql);
    return $result->fetch_array(MYSQLI_ASSOC);
}

1 个答案:

答案 0 :(得分:1)

while循环将继续运行,只要它是真的。你将不得不改变你正在做的事情的逻辑,或者你想要实现的目标。

在您的示例中,while循环

while($news = $engine->fetch_array("SELECT * FROM `cms_news` ORDER BY `id` DESC")) {

保持真实,因此它一直在运行。