php:while循环,fetch数组永远运行?

wko9yo5t  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(409)

我试图显示一个数据库的所有记录,但它只是垃圾邮件约1000,直到它最终达到30秒超时。数据库里只有3条记录,不知道为什么会这样?

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

“lol”在最后超时(超过执行时间)之前被打印数百次
下面是$engine类中的fetch\u数组函数:

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

bn31dyow1#

只要是真的,while循环就会继续运行。你必须改变你做事的逻辑,或者改变你想要达到的目标。
在你的例子中,while循环,

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

一直是真的,所以它一直在运行。

相关问题