我并不像php开发人员,但我必须使用它,而且我不太了解PHP在会话期间如何处理内存分配。
我正在开发一个要求进行HTTP身份验证的应用程序,一旦登录,便可以通过一个漂亮的界面来操作数据。 有人在另一篇文章中告诉我,我不应该在每次执行后关闭mysql数据连接,但是我不知道在使用此应用程序期间该连接如何保持内存,因为在服务器端我不知道PHP保留了什么内容记忆与否。
所以我的问题是我应该使用单例连接到数据库并且永远不要关闭它(因为我永远不知道什么时候不使用该应用程序。或者我应该坚持今天的工作:打开连接->执行语句- ->关闭连接。
PS:我正在使用mysqli
编辑1 : 我的应用程序是具有MVC模式含义的设计:
|''''''''''| |'''''''''''''| |''''''''''''''| | view.php | ==> | control.php | ==> | database.php | |----------| |_____________| |______________|
该模式允许该视图与只通过数据进行交互control.php,然后调用从database.php中的功能SELECT或EDIT数据。根据您给我的解释,我应该输入:
control.php
SELECT
EDIT
public function __destruct(){ mysql_close($this->connection); }
inside database.php,但是该页面在需要选择或修改数据时处于加载状态,因此只执行了很短的时间,这意味着它仍将在请求结束时关闭连接。
database.php
哪一个给出了一个更精确的问题,即我应该把您提供的代码放在何处,还是我的模式与PHP有关?
永远不要为每个查询创建新的连接;您甚至不必手动关闭它。
只需在页面开头创建连接
看一下:如何有效地连接到php中的mysql,而不必在每个查询上都重新连接
您可以使用此:
public function __destruct() { mysql_close($this->connection); }
当页面关闭时,它将被调用