自动关闭到mysql的php连接

时间:2016-02-23 11:47:55

标签: php mysql connection

我的php脚本中有太多与mysql的连接。 连接没有关闭 - 我可能忘记在我的代码中的某些地方关闭。

有没有办法在脚本末尾自动定义sql关闭所有与服务器的php连接?

3 个答案:

答案 0 :(得分:0)

你可以像这样定义一个类来管理mysql连接

class MysqlConnection
{
    private $connection;

    public function __construct()
    {
        $this->connection = mysqli_connect();
    }

    public function __destruct()
    {
        mysqli_close($this->connection);
    }

}

当脚本运行到最后时,php将销毁所有对象,然后自动调用析构函数。所以连接也可以关闭。

答案 1 :(得分:0)

如果您没有使用持久连接,那么当脚本结束时,PHP会自动关闭与MySQL的所有连接。

来自manual

  

打开非持久性MySQL连接,并在PHP脚本完成执行时自动销毁结果集。

答案 2 :(得分:0)

我发现了问题。 我没有使用持久连接,所以连接应该关闭脚本结束。

但是,我使用名为" prototype.js"的第三方代码。 我不知道为什么但它阻止我的代码关闭php连接。 删除以下行后,一切正常。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.3.0/prototype.js"></script>