我试图显示数据库中的所有记录,但它只是发送大约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);
}
答案 0 :(得分:1)
while循环将继续运行,只要它是真的。你将不得不改变你正在做的事情的逻辑,或者你想要实现的目标。
在您的示例中,while循环
while($news = $engine->fetch_array("SELECT * FROM `cms_news` ORDER BY `id` DESC")) {
保持真实,因此它一直在运行。