我得到了这个错误,行是这样的:
public function __destruct() {
$this->db->close();
}
我使用PDO,这是问题,PDO驱动程序不识别此功能吗?如果是,它在PDO中的等效是什么?
通过销毁其对象来关闭PDO连接:
连接在该PDO对象的生命周期内保持活动状态。要关闭连接,需要通过确保删除对该对象的所有剩余引用来销毁该对象——通过将持有该对象的变量赋值为NULL来实现这一点。如果你没有显式地这样做,PHP会在脚本结束时自动关闭连接。
$this->db = null;
。
PDO没有显式的"close"函数。您可以简单地执行
$this->db = null
来销毁对象,这将自动清理连接。
把手柄放到null
:
<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// use the connection here
// and now we're done; close it
$dbh = null;
?>
将PDO变量设置为null将关闭连接并释放所有相关内存。
另一种方法是使用closeCursor关闭与服务器的连接,但保留PDO对象。
" closecuror释放到服务器的连接,以便其他SQL语句可能会被发出,但会使语句处于以下状态使其能够再次执行。"
这意味着即使连接已被释放,也可以继续运行fetch()等操作。
与mysql_close()不同,但仍然非常有用。
PDO没有close方法。要取消PDO对象所表示的连接,请使用unset()取消对该对象本身的所有引用。
PDO没有关闭方法。我认为你可以尝试取消设置$this->db,这个自动断开