php - PHP 中的循环耗时,致命错误:超过 120 秒的最大执行时间
问题描述
致命错误:超过 120 秒的最大执行时间...
$level = "1";
$get_question = $user_home->runQuery('SELECT * FROM questions WHERE Level = :Level ORDER BY RAND()');
$get_question->bindparam(":Level",$level);
$get_question->execute();
$fetch_question=$get_question->fetch(PDO::FETCH_ASSOC);
$stmtpr = $user_home->runQuery("SELECT * FROM used WHERE Last=:user_name");
$stmtpr->execute(array(":user_name"=>$fetch_question['Id']));
$rowpr = $stmtpr->fetch(PDO::FETCH_ASSOC);
while($stmtpr->rowCount() > 0)
{
$get_questionl = $user_home->runQuery('SELECT * FROM questions WHERE Level = :Level ORDER BY RAND()');
$get_questionl->bindparam(":Level",$level);
$get_questionl->execute();
$fetch_question=$get_questionl->fetch(PDO::FETCH_ASSOC);
}
执行只有在它进入时才需要时间loop
。
解决方案
never的值会$stmtpr->rowCount()
改变,因此您的循环永远不会结束。你基本上是在说:
while (10 > 1) { ... }
目前尚不清楚您要做什么,但似乎您正在尝试重新查询刚刚查询的相同行。您可能只想遍历原始结果集。
另请注意,这ORDER BY RAND()
是众所周知的表现不佳。检查这个问题以获取一些替代想法。
推荐阅读
- python - 在迭代调用的函数中存储和加载参数的有效方法
- optaplanner - 将自动连线 SolverManager 与 Optaplanner 一起使用时,如何访问 scoreDirector?
- django - 在 django 中使用 pytest 和 mock 获取状态码
- c# - 如何在 asp.net 核心中获得博客帖子看到访问者?
- postgresql - Postgres 何时以及如何使用“transactionid”锁
- sql - 更新上个月喜欢的商品
- javascript - 在 php MVC 上使用 ajax 请求
- webpack - npm run dev 不会自动刷新最新更改
- sql - 为批量导入创建格式文件
- python - 后端文件夹中的 urls.py 文件 - 需要在前端文件夹中找到 index.html