PHP中使用sleep造成mysql读取失败的案例和解决方法
2023-06-13 09:15:43 时间
近日,由于项目需求
需要用到sleep函数定时从数据库取一堆数据出来去执行某些操作。
sleep等待的时间至少有一个小时以上
此前做过测试
用sleep函数去完成数小时后执行的操作是可行的
可邪门的问题出来了
程序用sleep后发现不能从数据库取到相应的信息
把sleep去掉
结果正常
郁闷中。。。
难道sleep影响读库操作!!!
于是为了方便测试
直接来个sleep(10)十秒后执行
结果能从数据库读取信息
可为什么sleep()一个小时后不能读取信息呢?
为了测试方便我直接在sleep语句前读库一次,sleep后再读一次库
如:
<?php
require_once("include.php");
//读取数据库信息
$data=$db->getList();
print_r($data);
//定时一个小时以后
sleep(3600);
//再读取一次信息
$data=$db->getList();
print_r($data);
?>
结果发现
第一次读库成功
第二次读库为空
于是再把sleep改成十秒钟后再测试一次
<?php
require_once("include.php");
//读取数据库信息
$data=$db->getList();
print_r($data);
//定时十秒以后
sleep(10);
//再读取一次信息
$data=$db->getList();
print_r($data);
?>
以上结果
两次读库成功
为何一个小时读库失败,十秒钟却读库成功呢??
我用的是单例数据库操作类
想起一个问题
会不会是数据库连接超时导致读库失败呢?
于是赶紧把此处读库操作改成现连
<?php
require_once("include.php");
//读取数据库信息
$data=getList();
print_r($data);
//定时一个小时以后
sleep(3600);
//再读取一次信息
$data=getList();
print_r($data);
//读取数据库信息
functiongetList(){
$pdo=newPDO("mysql:host=localhost;dbname=test","root","root");
$result=$pdo->query("select*fromtables");
return$result->fetchAll(PDO::FETCH_ASSOC);
}
?>
测试成功!!
原来sleep会导致单例类超时问题从而出现执行时间过长以后数据库连接可能断开问题,也就不能读到数据库信息!
相关文章
- PHP安装MySQL模块:简单易行(php添加mysql模块)
- PHP无法连接MySQL数据库解决办法(php连接不到mysql)
- 『抛弃MySQL,转用PHP新时代』(php废弃mysql)
- PHP操作MySQL数据库:实现快速连接(php连接数据库mysql)
- 灵活运用MySQL过程和游标实现数据查询(mysql过程游标)
- 深入MySQL:查看账户权限详解(mysql查看账户)
- MySQL变量配置实战指南(mysql变量配置)
- MySQL数据库管理应用PHP技术(mysql数据库php)
- MySQL优化:如何提高查询速度(mysql提高查询速度)
- MySQL 字符串编码技巧研究(mysql字符串编码)
- 数据深入PHP:从MySQL获取表数据(php获取mysql表)
- MySQL全链接:实现传统与云端数据库的超轻松连接(mysql全链接)
- MySQL 无响应启动卡住解决方法(mysql启动没反应)
- MySQL 如何使用表分区和索引优化查询性能(mysql表分区索引)
- PHP与MySQL的网站搭建指南(php和mysql搭建)
- 使用MySQL实现工作日计算功能(mysql工作日计算)
- 深入解析MySQL的结构表设计与优化(mysql的结构表)
- php建立你的网站:使用 Apache、MySQL 和 PHP(httpdmysql)
- MySQL添加默认字段值指南(mysql添加默认值)
- PHP文件快速导入MySQL数据库(php文件导入mysql)
- 数据从MySQL中用PHP取得数据(php 获取 mysql)
- 高效导入千万条数据,教你如何优化 Mysql 数据库操作(mysql导入千万数据)
- MySQL使用详解:全面学习MYSQL技术(mysql大全)
- 用微信、PHP和MySQL构建快速、可靠的网站(微信 php mysql)
- PHP简易指南:连接MySQL数据库(php连接mysql数据库)
- 深度剖析 C 语言驱动MySQL 应用案例(c 使用mysql案例)
- CentOS与MySQL深入探讨(cemtos mysql)
- 4G限制下的MySQL发展挑战(4G限制mysql)
- MySQL模糊查询实现技巧(mysql_模糊查询)