$con = mysql_connect("localhost:".$LOCAL_DB_PORT, $LOCAL_DB_USER, $LOCAL_DB_PASS);
mysql_select_db("hr", $con);
mysql_query("set names utf8", $con);
while(true)
{
do_stuff($con);
sleep(50);
}
如果50秒内连接超时,$ corn仍然有效吗?
答案 0 :(得分:2)
如果连接超时,则无效。
要回答评论中的问题,要解决问题,请参阅mysql_connect()的php.net手册页,其中写道:
如果使用相同的参数对mysql_connect()进行第二次调用,则不会建立新的链接,而是返回已打开的链接的链接标识符。
所以如果你想确保你总是有一个开放的连接,那么在你用sleep()代替的代码执行完毕后,尝试用相同的参数打开一个新的。
答案 1 :(得分:0)
简单回答:你为什么不尝试看看?
我相信codeburger是正确的:如果MySQL连接超时,那么它就消失了。您可以使用mysql_pconnect的持久连接。您需要在每次睡眠后调用该函数,但它将使用现有连接,从而节省开销。