本文实例讲述了PHP使用PDO 连接与连接管理操作。分享给大家供大家参考,具体如下:
连接是通过创建 PDO 基类的实例而建立的。不管使用哪种驱动程序,都是用 PDO 类名。
构造函数接收用于指定数据库源(所谓的 DSN)以及可能还包括用户名和密码(如果有的话)的参数。
连接到 MySQL
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ?>
如果有任何连接错误,将抛出一个 PDOException 异常对象。如果想处理错误状态,可以捕获异常,
或者选择留给通过 set_exception_handler()设置的应用程序全局异常处理程序。
处理连接错误
<?php 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() . "<br/>"; die(); } ?>
连接数据成功后,返回一个 PDO 类的实例给脚本,
此连接在 PDO 对象的生存周期中保持活动。
要想关闭连接,需要销毁对象以确保所有剩余到它的引用都被删除,可以赋一个 NULL
值给对象变量。
如果不明确地这么做,PHP 在脚本结束时会自动关闭连接。
关闭一个连接
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); // 在此使用连接 // 现在运行完成,在此关闭连接 $dbh = null; ?>
很多 web 应用程序通过使用到数据库服务的持久连接获得好处。持久连接在脚本结束后不会被关闭,且被缓存,
当另一个使用相同凭证的脚本连接请求时被重用。持久连接缓存可以避免每次脚本需要与数据库回话时建立一个新连接的开销,从而让 web 应用程序更快。
持久化连接
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array( PDO::ATTR_PERSISTENT => true )); ?>
如果想使用持久连接,必须在传递给 PDO 构造函数的驱动选项数组中设置 PDO::ATTR_PERSISTENT
。
如果是在对象初始化之后用 PDO::setAttribute() 设置此属性,则驱动程序将不会使用持久连接。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
mysql 中的数据类型与Hive 是有区别的,但是他们有规律, 有规律就好办了, 我们...
Ajax 简介: AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML...
在数据库的实际使用过程中,我们常常会遇到不希望数据被同时写或者读的情景,例...
从官网 下载ckeditor,我下载的是CKEditor 3.3.1 。CKEditor与原来的FCKeditor有...
来源:DeepenStudy 漏洞文件:js.asp % Dimoblog setoblog=newclass_sys oblog.a...
什么是多租户 网上有好多解释,有些上升到了架构设计,让你觉得似乎非常高深莫测...
第一轮电话(简单大概15分钟) 1.基础:ArrayList和linkedList的区别? 2.基础:Java...
四大属性底层实现原理? A(原子性): 要么全部完成,要么完全不起作用。底层实现...
string与StringBuilder的在字符串拼接时执行效率上有差异,因为StringBuilder类...
目前硕士搬砖老师给了个任务下载700篇相关文献并且把每篇文献按照 *年份-期刊名...