取消设置包含PDO对象的PHP对象是否会关闭PDO连接?

时间:2017-01-11 19:30:24

标签: php pdo

考虑以下PHP代码段:

$dbw = new db_writer($table_name);       // establishes a PDO connection
$success = $dbw->insert_record($record);
unset($dbw);

取消设置$ dbw对象会导致PDO连接关闭吗?

我的db_writer类的重点是保留连接,以便在需要时,类可以执行多个操作,而无需为每个操作建立/断开连接。因此,该类不会取消设置PDO对象,我认为 关闭连接。

1 个答案:

答案 0 :(得分:2)

根据PDO documentation,当您将PDO对象值设置为null时,它会关闭连接。 Hovewer可能存在某些对象持续引用PDO对象实例的情况。在这种情况下,连接仅在PHP脚本执行结束时关闭。

还有PDO::ATTR_PERSISTENT选项允许您创建在脚本执行端不会关闭的持久PDO连接,并且可以在下一个脚本运行时重用。