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

什么时候应该关闭PHP中的数据库连接?,php,mysql,mysqli,Php,Mysql,Mysqli,我一点也不像一个php开发人员,但我必须使用它,而且我不知道php在会话期间如何处理内存分配 我正在开发一个请求HTTP身份验证的应用程序,一旦登录,您就可以通过一个漂亮的界面操作数据。 有人在另一篇文章中告诉我,我不应该在每次执行后关闭mysql数据连接,但我不知道在使用这个应用程序期间,这个连接是如何保持在内存中的,因为在服务器端,我不知道PHP在内存中保留了什么 因此,我的问题是,我应该使用单例连接到db,而不关闭它(因为我永远不知道应用程序何时未被使用。或者我应该坚持我今天所做的:打开连

我一点也不像一个php开发人员,但我必须使用它,而且我不知道php在会话期间如何处理内存分配

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

因此,我的问题是,我应该使用单例连接到db,而不关闭它(因为我永远不知道应用程序何时未被使用。或者我应该坚持我今天所做的:打开连接-->执行语句-->关闭连接)

PS:我正在使用mysqli

编辑1
我的应用程序采用MVC模式设计,其含义如下:

|''''''''''|      |'''''''''''''|      |''''''''''''''|
| view.php |  ==> | control.php |  ==> | database.php |
|----------|      |_____________|      |______________|
该模式允许视图仅通过
control.php
与数据交互,然后调用database.php中的函数来
SELECT
EDIT
数据。根据您给我的解释,我应该:

public function __destruct(){
    mysql_close($this->connection);
}
database.php
中,但是当需要选择或修改数据时,该页面会被加载,因此它只会执行很短的时间,这意味着它仍然会在请求结束时关闭连接


这就提出了一个更精确的问题:我应该把您提供的代码放在哪里,还是我的模式与PHP相关?

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

只需在页面的开头创建连接

看看:

您可以使用以下选项:

public function __destruct()
{
   mysql_close($this->connection);
}
当页面关闭时,将从PHP的Mysqli调用它:

客户端进程可以重用客户端进程和数据库之间的连接,而不是多次创建和销毁。这减少了开销


但是不关闭连接会导致内存泄漏否?您可以在页面关闭时关闭连接,请参阅Post上的“我的编辑”,这是执行数据库管理的类的析构函数,请参阅:这是因为在MVC模式中,控件视图和模型(数据库)。在您的scheme视图中控制控件和模型。如果您以正确的方式编写MVC,问题将自动解决。问题是,我不使用object编写代码,因为我真的不知道如何编写,我没有时间转换应用程序,也没有时间了解它的工作原理。啊哈,好的,不,切换到OOP非常简单,很多p通过正确的设计,像这样的问题将自行解决:)呃,我知道,我认为我们在第一次使用PHP时都有那种“不好的感觉”。我最讨厌PHP的是它的松散类型方法。。。有时它似乎是用BASIC编程的:)