PHP在睡眠中MySQL读取失败的案例及解决方案

最近,由于项目要求

使用休眠功能从数据库获取一堆数据来执行一些操作是很有必要的。

睡眠至少要等一个小时。

在测试完成之前

用睡眠功能进行几个小时的手术是可行的。



能找出问题所在。

程序使用睡眠发现它不能从数据库获得相应的信息。

除去睡觉

结果是正常的。



忧郁。

睡眠影响阅读库操作吗!!!

为了便于测试

直接到睡眠(10)十秒后执行

可以从数据库中读取结果。



但是为什么一小时内睡眠不能读取信息呢

为了方便测试,我在睡觉前读一次图书馆,在睡觉后再看一遍图书馆。

如:

复制代码代码如下所示:

< PHP

require_once('include。php);

读取数据库信息

$data =美元->列表(dB);

print_r($数据);



时间一小时后

睡眠(3600);



要阅读邮件

$data =美元->列表(dB);

print_r($数据);



>

结果发现

一读图书馆成功

二读图书馆是空的。



然后把睡眠时间改为十秒,然后再测试一遍。

复制代码代码如下所示:

< PHP

require_once('include。php);

读取数据库信息

$data =美元->列表(dB);

print_r($数据);



十秒之后

睡眠(10);



要阅读邮件

$data =美元->列表(dB);

print_r($数据);



>



以上结果

两读图书馆成功



为什么图书馆只需一小时十秒就能读到图书馆

我使用的是一个数据库操作类

想出一个问题

是数据库连接超时导致库失败吗

所以我们很快就改变了图书馆的运作。

复制代码代码如下所示:

< PHP

require_once('include。php);

读取数据库信息

为数据列表();

print_r($数据);



时间一小时后

睡眠(3600);



要阅读邮件

为数据列表();

print_r($数据);



读取数据库信息

功能列表(){

为PDO =新PDO('mysql:主机为localhost;北京测试,'root ','root);

结果=美元美元PDO ->查询('select *表);

返回的结果-> fetchall(PDO::fetch_assoc);

}

>

测试成功!!

结果表明,睡眠会导致一类超时问题,这样当执行时间过长时,数据库连接可能断开连接,数据库信息无法读取!