-3

我的 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是设置的位置

4

2 回答 2

1

[从评论扩展] 由于您print_r()正下方的include运行多次,因此表明整个文件/代码块正在从代码更高的循环中运行多次。您可以尝试执行dump_backtrace()并查看代码的实际来源。

超时似乎发生在connect.php因为您使用includenot include_once,因此每次循环代码运行时也会重新处理该文件。

于 2013-03-11T00:08:10.393 回答
0

为什么你一遍又一遍地执行相同的查询。你不想做类似的事情:

$stmt = $conn->query($your_query);
while(($result = $stmt->fetch()) !== false){
  // do something
}

反而?

于 2013-03-11T00:03:04.490 回答