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. IOS第九天(2:QQ聊天界面键盘优化 和自动回复)

    ***********controller.m #import "HMViewController.h" #import "HMMessageModel.h" ...

  2. The Earth Mover's Distance

    The EMD is based on the minimal cost that must be paid to transform one distribution into the other. ...

  3. 实现服务器端与客户端的高频实时通信 SignalR(2)

    说明:本篇文章与上篇文章 实现服务器端与客户端的实时通信 SignalR(1) 基本代码类似,只是做了些处理 高频 的改动. 一.本文出处:SignalR 实例介绍 (建议看原著里面有DEMO下载) ...

  4. Docker-compose命令详解

    语法: Define and run multi-container applications with Docker. Usage:   docker-compose [-f=<arg> ...

  5. grep中正则匹配的使用

    如要匹配Computer或computer两个单词,可做如下操作: [Cc]mputer “.”允许匹配ASCII集中任意字符,或为字母,或为数字. 使用\{\}匹配模式结果出现的次数 匹配字母A出现 ...

  6. cookbook学习第二弹

    1.5怎样实现一个按优先级排序的队列?并且在这个队列上面每次pop操作总是返回优先级最高的那个元素 带有双下划线的方法,会在需要被调用的位置自动被调用 带有单下划线的变量是私有变量 下面利用类heap ...

  7. SQL的inner join、left join、right join、full outer join、union、union all

    主题: SQL的inner join.left join.right join.full outer join.union.union all的学习. Table A和Table B表如下所示: 表A ...

  8. Space Ant---poj1696(极角排序)

    题目链接:http://poj.org/problem?id=1696 题意:给你n个点,然后我们用一条线把它们连起来,形成螺旋状: 首先找到左下方的一个点作为起点,然后以它为原点进行极角排序,找到极 ...

  9. jqzoom图片放大镜

    jqzoom是一个图片放大器插件.它功能强大,使用简便! 引入js与css: <script type="text/javascript" src="js/jque ...

  10. Python之路-python(装饰器、生成器、迭代器、Json & pickle 数据序列化、软件目录结构规范)

    装饰器: 首先来认识一下python函数, 定义:本质是函数(功能是装饰其它函数),为其它函数添加附件功能        原则:        1.不能修改被装饰的函数的源代码.        2.不 ...