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

连接到 MySQL

<?php高佣联盟 www.cgewang.com
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

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

处理连接错误

<?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() 设置此属性,则驱动程序将不会使用持久连接。

最新文章

  1. Javascript 获取链接(url)参数的方法
  2. bind,unbing,on,live,delegate绑定和解绑事件
  3. 创建MS Office 和 WPS 兼容插件
  4. ios -几种常见定时器
  5. hive 学习笔记——表的入门操作和命令
  6. C# ip hash算法实现ip分流
  7. 10382 - Watering Grass
  8. Net 并行知识学习
  9. 斗地主 (NOIP2015 Day1 T3)
  10. java反射 概念
  11. AJAX的get和post请求原生编写方法
  12. sql for xml path用法
  13. winrar目录穿越漏洞
  14. django中ajax的使用以及避开CSRF 验证的方式
  15. Spring入门详细教程(三)
  16. 第一节 简单的jsp实例
  17. windows系统中hosts文件位置
  18. Confluence 6 为 Active Directory 配置一个 SSL 连接预要求
  19. digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
  20. 《PyQt5 快速开发与实战》 第九章代码Bug修正 DataGrid.py 最后一页下翻页 仍可点击的错误

热门文章

  1. 猿灯塔:最详细Dubbo相关面试题!
  2. Python优秀开源项目Rich源码解析
  3. HBase2.0 meta信息丢失的修复方法
  4. # Mysql常用函数总结(一)
  5. JavaScript图形实例:H分形
  6. python入门009
  7. Java并发编程——为什么要用volatile关键字
  8. SpringBoot常用数据源配置
  9. python 面向对象专题(三):继承
  10. C#中String与byte[]的相互转换