pdo关闭连接,关闭预编译语句,释放结果集

PHP操作mysql:
为什么在mysqli中有:
释放结果 —— $mysqli_stmt->free_result();
关闭预编译语句 —— $mysqli_stmt->close();
关闭连接 —— $conn->close();

而在pdo中没有呢?
不需要还是怎么样?
如果是不需要,那么为什么不需要呢?
pdo关闭连接可以将其置为null

阅读 14k
4 个回答

PDO 是 OOP(面向对象编程)的风格,有析构函数 __destruct()

一般程序执行完,php会自动回收内存,pdo是提供通用接口的抽象层,可能php去实现它的时候并没有考虑这个

pdo是oop连接数据库,在关闭的时候会在内部的析构函数中实现断开连接的

要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 NULL 值给对象变量。如果不明确地这么做,PHP 在脚本结束时会自动关闭连接。

http://php.net/manual/zh/pdo....

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// 在此使用连接


// 现在运行完成,在此关闭连接
$dbh = null;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题