我的PDO连接超时有问题,它不在一个循环中(这是我唯一一次看到时间超时)只是一个标准连接,然后我在一个循环中运行它。它给出的错误是:
Fatal error: Maximum execution time of 30 seconds exceeded in Connect.php on line 9
这是connect.php
这是我必须包含的内容
我也尝试了一次,print_r
打印:
PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( ) PDO Object ( )
Fatal error: Maximum execution time of 30 seconds exceeded in Connect.php on line 9
所以显然存在某种联系,显然包含了变量。我也在其他php文件中使用过此代码,并且工作正常。来自所提供信息的任何想法?
第9行是设置$conn
的地方
答案 0 :(得分:1)
[评论扩展]由于print_r()
正好在include
下方运行多次,因此表明整个文件/代码块正在从代码上方的循环中多次运行。您可以尝试执行dump_backtrace()
并查看代码实际来自哪里。
超时似乎发生在connect.php
,因为您使用的是include
而不是include_once
,因此每次循环代码运行时,该文件也会被重新处理。
答案 1 :(得分:0)
为什么一遍又一遍地执行相同的查询。 你不想做这样的事情:
$stmt = $conn->query($your_query);
while(($result = $stmt->fetch()) !== false){
// do something
}
代替?