重新连接 / 保持连接有效?
function reconnect(){
if (mysqli_ping($this->conn_id) === FALSE)
{
$this->conn_id = FALSE;
}
}
CI里直接this->db->reconnect();就能重新连接数据库吗?
$this->conn_id = FALSE; 这个怎么解释?
$this->db->reconnect(); 如果PHP运行的时候较长,mysql就会连接超时了比如下面在
function test(){
sleep(10000);
$this->db->query($sql)->result_array();
}
这样的话,执行就会报错了。
更改如下
sleep(10000);
$this->db->reconnect();
$this->db->query($sql)->result_array();
这时候重新连接下mysql,就能执行sql成功了 $this->conn_id = FALSE;
可能是mysql连接的id,当保持连接时候,所有的连接都走这个id的连接,当超时后,
$this->conn_id = FALSE;
这个id就变成false了,不能再用了,要么重新连接,要么就报错了。
页:
[1]