php pdo要释放资源,php如何关闭pdo
发布日期:2022-02-08 20:23:57 浏览次数:39 分类:技术文章

本文共 1011 字,大约阅读时间需要 3 分钟。

PHP PDO连接

连接是通过创建 PDO 基类的实例而建立的。不管使用哪种驱动程序,都是用 PDO 类名。

连接到 MySQL

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

?>

注意:如果有任何连接错误,将抛出一个 PDOException 异常对象。

处理连接错误

try {

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

foreach($dbh->query('SELECT * from FOO') as $row) {

print_r($row);

}

$dbh = null;

} catch (PDOException $e) {

print "Error!: " . $e->getMessage() . "

";

die();

}

?>

连接数据成功后,返回一个 PDO 类的实例给脚本,此连接在 PDO 对象的生存周期中保持活动。

要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 NULL 值给对象变量。

如果不这么做,PHP 在脚本结束时会自动关闭连接。

关闭一个连接:

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

// 在此使用连接

// 现在运行完成,在此关闭连接

$dbh = null;

?>

很多 web 应用程序通过使用到数据库服务的持久连接获得好处。

持久连接在脚本结束后不会被关闭,且被缓存,当另一个使用相同凭证的脚本连接请求时被重用。

持久连接缓存可以避免每次脚本需要与数据库回话时建立一个新连接的开销,从而让 web 应用程序更快。

持久化连接

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(

PDO::ATTR_PERSISTENT => true

));

?>

注意:如果想使用持久连接,必须在传递给 PDO 构造函数的驱动选项数组中设置 PDO::ATTR_PERSISTENT 。如果是在对象初始化之后用 PDO::setAttribute() 设置此属性,则驱动程序将不会使用持久连接。

转载地址:https://blog.csdn.net/weixin_33132553/article/details/115453146 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:dict去重python_python sorted() count() set(list)-去重
下一篇:php保活,保活Docker容器与supervisord

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月08日 03时42分32秒