一尘不染

什么时候应该在PHP中关闭数据库连接?

mysql

我并不像php开发人员,但我必须使用它,而且我不太了解PHP在会话期间如何处理内存分配。

我正在开发一个要求进行HTTP身份验证的应用程序,一旦登录,便可以通过一个漂亮的界面来操作数据。
有人在另一篇文章中告诉我,我不应该在每次执行后关闭mysql数据连接,但是我不知道在使用此应用程序期间该连接如何保持内存,因为在服务器端我不知道PHP保留了什么内容记忆与否。

所以我的问题是我应该使用单例连接到数据库并且永​​远不要关闭它(因为我永远不知道什么时候不使用该应用程序。或者我应该坚持今天的工作:打开连接->执行语句-
->关闭连接。

PS:我正在使用mysqli

编辑1
我的应用程序是具有MVC模式含义的设计:

|''''''''''|      |'''''''''''''|      |''''''''''''''|
| view.php |  ==> | control.php |  ==> | database.php |
|----------|      |_____________|      |______________|

该模式允许该视图与只通过数据进行交互control.php,然后调用从database.php中的功能SELECTEDIT数据。根据您给我的解释,我应该输入:

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

inside database.php,但是该页面在需要选择或修改数据时处于加载状态,因此只执行了很短的时间,这意味着它仍将在请求结束时关闭连接。

哪一个给出了一个更精确的问题,即我应该把您提供的代码放在何处,还是我的模式与PHP有关?


阅读 593

收藏
2020-05-17

共1个答案

一尘不染

永远不要为每个查询创建新的连接;您甚至不必手动关闭它。

只需在页面开头创建连接

看一下:如何有效地连接到php中的mysql,而不必在每个查询上都重新连接

您可以使用此:

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

当页面关闭时,它将被调用

2020-05-17