解决PHP使用sleep造成MySQL读取失败的问题
内容摘要
这篇文章主要为大家详细介绍了解决PHP使用sleep造成MySQL读取失败的问题,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
近日,由
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
近日,由
文章正文
这篇文章主要为大家详细介绍了解决PHP使用sleep造成MySQL读取失败的问题,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的小玲来看看吧!
近日,由于项目需求需要用到sleep函数定时从数据库取一堆数据出来去执行某些操作。sleep等待的时间至少有一个小时以上此前做过测试用sleep函数去完成数小时后执行的操作是可行的可邪门的问题出来了程序用sleep后发现不能从数据库取到相应的信息把sleep去掉结果正常郁闷中。。。难道sleep影响读库操作!!!于是为了方便测试直接来个sleep(10) 十秒后执行结果能从数据库读取信息可为什么sleep()一个小时后不能读取信息呢?为了测试方便我直接在sleep语句前读库一次,sleep后再读一次库如:
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <code> <?php require_once ( 'include.php' ); // 读取数据库信息 $data = $db ->getList(); print_r( $data ); // 定时一个小时以后 sleep(3600); // 再读取一次信息 $data = $db ->getList(); print_r( $data ); ?></code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <code> <?php require_once ( 'include.php' ); // 读取数据库信息 $data = $db ->getList(); print_r( $data ); // 定时十秒以后 sleep(10); // 再读取一次信息 $data = $db ->getList(); print_r( $data ); ?> </code> |
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <code> <?php require_once ( 'include.php' ); // 读取数据库信息 $data = getList(); print_r( $data ); // 定时一个小时以后 sleep(3600); // 再读取一次信息 $data = getList(); print_r( $data ); // 读取数据库信息 function getList(){ $pdo = new PDO( 'mysql:host=localhost;dbname=test' , 'root' , 'root' ); $result = $pdo ->query( 'select * from tables' ); return $result ->fetchAll(PDO::FETCH_ASSOC); } ?></code> |
注:关于解决PHP使用sleep造成MySQL读取失败的问题的内容就先介绍到这里,更多相关文章的可以留意
代码注释