用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1639|回复: 2
收起左侧

重新连接 / 保持连接有效?

[复制链接]
发表于 2014-5-19 17:42:51 | 显示全部楼层 |阅读模式
function reconnect()
    {
        if (mysqli_ping($this->conn_id) === FALSE)
        {
            $this->conn_id = FALSE;
        }
    }
CI里直接this->db->reconnect();就能重新连接数据库吗?
$this->conn_id = FALSE; 这个怎么解释?
发表于 2014-5-20 13:02:59 | 显示全部楼层
$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成功了
发表于 2014-5-20 13:04:52 | 显示全部楼层
     $this->conn_id = FALSE;
可能是mysql连接的id,当保持连接时候,所有的连接都走这个id的连接,当超时后,
$this->conn_id = FALSE;
这个id就变成false了,不能再用了,要么重新连接,要么就报错了。

本版积分规则