微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我何时应该在PHP中关闭数据库连接?

我不像是一个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);
}

页面关闭时会调用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐