php将自动连接到MySQL吗?

时间:2009-09-29 14:36:38

标签: php mysql connection connection-pooling

$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仍然有效吗?

2 个答案:

答案 0 :(得分:2)

如果连接超时,则无效。

要回答评论中的问题,要解决问题,请参阅mysql_connect()的php.net手册页,其中写道:

  

如果使用相同的参数对mysql_connect()进行第二次调用,则不会建立新的链接,而是返回已打开的链接的链接标识符。

所以如果你想确保你总是有一个开放的连接,那么在你用sleep()代替的代码执行完毕后,尝试用相同的参数打开一个新的。

答案 1 :(得分:0)

简单回答:你为什么不尝试看看?

我相信codeburger是正确的:如果MySQL连接超时,那么它就消失了。您可以使用mysql_pconnect的持久连接。您需要在每次睡眠后调用该函数,但它将使用现有连接,从而节省开销。