PDO的优势在于兼容性,但速度不如mysql和mysqli

new PDO($dsn,$username,$passwd[,$options])

$options可以设置数据库连接属性,如:

$options=array(PDO::ATTR_AUTOCOMMIT=>0,PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION);

beginTransaction()启动一个事务(要先关闭自动提交事务)  commit()提交一个事务  rollBack()回滚一个事务  inTransaction()检查事务是否激活

exec()不能进行select操作;若sql语句错误,exec()返回false

errorInfo()返回值是数组,包含:0->SQLSTATE,1->错误码,2->错误信息

query()若sql语句错误,返回false

prepare()准备一条语句,execute()执行这条语句

quote()会返回带引号的字符串,并通过反斜线转义来过滤字符串中的特殊字符

setAttribute()和getAttribute()的一些常用参数:(成功调用则返回请求的 PDO 属性值。不成功则返回 null 

下列为应用到数据库连接中的常量:

  • PDO::ATTR_AUTOCOMMIT  是否自动提交
  • PDO::ATTR_CASE    字段名称是否大小写
  • PDO::ATTR_CLIENT_VERSION  客户端版本
  • PDO::ATTR_CONNECTION_STATUS  连接状态
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE  默认的错误处理模式,静默模式,出错屏幕不会显示,可以通过errorCode()和errorInfo()获取错误信息
  • PDO::ERRMODE_WARRING  警告模式,出错会在屏幕提示
  • PDO::ERRMODE_EXCEPTION  异常模式,建议使用,出错时在屏幕显示错误信息
  • PDO::ATTR_ORACLE_NULLS  返回空字符串,转换为sql的null
  • PDO::ATTR_PERSISTENT    数据库是否持久连接
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO  服务器信息
  • PDO::ATTR_SERVER_VERSION  服务器版本
  • PDO::ATTR_TIMEOUT  超时时间设置
 

setFetchMode()的几种模式:setFetchMode(PDO::FETCH_ASSOC)  setFetchMode(PDO::FETCH_BOTH)  setFetchMode(PDO::FETCH_OBJ)

也可以直接设置fetch() / fetch_All()的几种模式:fetch(PDO::FETCH_ASSOC)    fetch(PDO::FETCH_BOTH)       fetch(PDO::FETCH_OBJ)

rowCount()也可以返回select语句得到的结果集的行数

bindParam()请参考php手册

PDO数据库抽象层的更多相关文章

  1. 初识PDO数据库抽象层

    目录: 00x1 php中的pdo是什么? 00x2 pdo创建一个PDO对象 00x1 php中的pdo是什么? 就是操作数据库的方法,pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验 ...

  2. 跟着百度学PHP[14]-初识PDO数据库抽象层

    目录: 00x1 php中的pdo是什么? 00x2 pdo创建一个PDO对象 00x1 php中的pdo是什么? 就是操作数据库的方法,pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验 ...

  3. 自己写好的pdo数据库抽象层 mysql为例

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq1355541448/article/details/31787719 class pdo_dat ...

  4. 12.PHP_PDO数据库抽象层

    PDO数据库抽象层 其实也就是说,为了方便PHP项目各种数据库切换的方便以及代码兼容性,再各种数据库上又封装了一层,做成了统一的接口,方便数据库使用和切换. PDO链接mysql数据库: <?p ...

  5. PHP数据库抽象层--PDO(PHP Data Object) [一]

    1.简介:(PDO数据库访问抽象层,统一各种 数据库的访问接口 ) PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库 ...

  6. 数据库抽象层PDO

    通过数据库抽象层PDO可以访问多个数据库 //数据库抽象层PDO //造DSN:驱动名:dbname=数据库名:host=服务器地址 $dsn = "mysql:dbname=mydb;ho ...

  7. 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 2

    18.2  PDO所支持的数据库 使用PHP可以处理各种数据库系统,包括MySQL.PostgreSQL.Oracle.MsSQL等.但访问不同的数据库系统时,其所使用的PHP扩展函数也是不同的.例如 ...

  8. PHP 数据库抽象层pdo

    PDO是PHP数据对象(PHP Data Object)的缩写. pdo就是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,能够轻松地在不同数据库之间进行切换,使得数据库 ...

  9. 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 5

    18.5  使用PDO对象 PDO扩展类库为PHP访问数据库定义了一个轻量级.一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据,大大简化了数据 ...

随机推荐

  1. 关于c++风格 code style

    Header files should be self-contained. All header files should have #define guards to prevent multip ...

  2. response的outputStream输出数据的问题

    package cn.itcast.response; import java.io.IOException; import java.io.OutputStream; import java.io. ...

  3. 如何正确使用css中vertical-align

    首先明确,vertical-align只对inline-block和inline元素有效. 在说vertical-align之前,需要先说明一下什么是line box. 浏览器中显示的一行会包含多个非 ...

  4. android发送/接收json数据

    客户端向服务器端发送数据,这里用到了两种,一种是在url中带参数,一种是json数据发送方式: url带参数的写法: url+/?r=m/calendar/contact_list&uid=3 ...

  5. TI BLE协议栈软件框架分析

    看源代码的时候,一般都是从整个代码的入口处开始,TI  BLE 协议栈源码也不例外.它的入口main()函数就是整个程序的入口,由系统上电时自动调用. 它主要做了以下几件事情: (一)底层硬件初始化配 ...

  6. Wysiwyg Editors 标签过滤

    针对October CMS编辑器插件取消自动过滤DIV标签开关: 找到modules\backend\formwidgets\richeditor\assets\vendor\redactor\red ...

  7. 深入浅出Docker(一):Docker核心技术预览

    Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源.Docker提供了一种在安全.可 ...

  8. git cherry-pick. 如何把已经提交的commit, 从一个分支放到另一个分支

    问题 在本地master提交了一个commit(8d85d4bca680a5dbcc3e5cfb3096d18cd510cc9f),如何提交的test_2分之上? 方法 使用cherry-pick 用 ...

  9. HTTP协议 keep-alive连接 与 BS(firefox-thttpd)实验

    什么是 keep-alive 连接 https://en.wikipedia.org/wiki/HTTP_persistent_connection HTTP persistent connectio ...

  10. Centos7中源码安装Nodejs

    Step 1.确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安装. [root@BobServerStation local]# yum -y install gcc gcc- ...