php中,有数据库操作时,使用sleep()函数时,当sleep(20)时,事件可以发生。sleep(30)时,数据库操作无效。开始一直以为是php配置文件的问题,改了php.ini相关参数,无效。开始怀疑是sleep()的问题。上网搜索时,意外发现可能是数据库连接的问题。
在写php代码时,使用框架往往不用直接写链接数据库的代码,使用数据库类进行数据库操作。
如下:
$userOb=D("User");
改成现连数据库:
$link=mysql_connect('xxxx','xx','xx');
if (!$link)
{
die('数据库连接失败');
}
mysql_select_db('xx',$link);
mysql_set_charset('utf8',$link);
$username=$_POST['username'];
$password=$_POST['password'];
mysql_query("INSERT INTO yu_user (username, password)
VALUES ('".$username."','".$password."')");
mysql_close($link);
之后测试,数据可以写入数据库了。并且sleep(180)等等,大于20的参数值也可以实现了。
特此记录一下。