我不像是一个PHP开发人员,但我必须使用它,我并不知道PHP如何在会话期间处理内存分配.
我正在开发一个请求HTTP身份验证的应用程序,一旦您登录,您可以通过一个漂亮的界面操作数据.
有人在另一篇文章中告诉我,我不应该在每次执行后关闭MysqL数据连接,但我不知道这个连接在使用这个应用程序时是如何保留内存的,因为在服务器端我不知道PHP保留了什么记忆与否.
所以我的问题是我应该使用单例连接到数据库并且永远不要关闭它(因为我永远不会知道应用程序何时没有使用.或者我应该支持我今天所做的事情:打开连接 – >执行语句 – >关闭连接.
PS:我正在使用MysqLi
编辑1:
我的应用程序是用MVC模式设计的意思:
|''''''''''| |'''''''''''''| |''''''''''''''|
| view.PHP | ==> | control.PHP | ==> | database.PHP |
|----------| |_____________| |______________|
该模式允许视图仅通过control.PHP与数据交互,然后control.PHP将函数从database.PHP调用到SELECT或EDIT数据.你给我的解释,我应该说:
public function __destruct(){
MysqL_close($this->connection);
}
在database.PHP中,但是当需要选择或修改数据时,该页面会被加载,因此它只会在短时间内执行,这意味着它仍然会在请求结束时关闭连接.
这给出了一个更精确的问题,即我应该在哪里提供您提供的代码的安静,或者我的模式在PHP中是否相关?
解决方法:
只需在页面开头创建连接即可
看看:How do you efficiently connect to mysql in php without reconnecting on every query
你可以用这个:
public function __destruct()
{
MysqL_close($this->connection);
}