一尘不染

是否必须关闭用PHP中的PDO打开的SQL连接

mysql

当我仅使用PHP的内置MySQL函数在PHP中打开MySQL连接时,我将执行以下操作:

$link = mysql_connect($servername, $username, $password);
mysql_select_db($dbname);
//queries etcetera
mysql_close($link);

当我打开与PDO的连接时,它看起来像这样:

$link = new PDO("mysql:dbname=$dbname;host=$servername",$username,$password);
//prepare statements, perform queries

我是否必须像与mysql_connect()and 一样显式关闭连接mysql_close()?如果没有,PHP如何知道何时完成连接?

TIA。


阅读 446

收藏
2020-05-17

共1个答案

一尘不染

使用$link = null让PDO知道它可以关闭连接。

PHP:PDO连接和连接管理

成功连接到数据库后,PDO类的实例将返回到您的脚本。该连接在该PDO对象的生存期内保持活动状态。要关闭连接,您需要通过确保删除所有剩余的对该对象的引用来销毁该对象,方法是将NULL赋给保存该对象的变量。如果您未明确执行此操作,则脚本结束时PHP将自动关闭连接。

2020-05-17