首页 第22章 PDO数据库抽象层

第22章 PDO数据库抽象层

举报
开通vip

第22章 PDO数据库抽象层nullPDO数据库抽象层PDO数据库抽象层www.mingribook.com什么是PDO什么是PDO PDO是PHP Date Object(PHP数据对象)的简称,它是与PHP 5.1版本一起发行的,目前支持的数据库包括Firebird、FreeTDS、Interbase、MySQL、MS SQL Server、ODBC、Oracle、Postgre SQL、SQLite和Sybase。有了PDO,您不必再使用mysql_*函数、oci_*函数或者mssql_*函数,也不必再为它们封装数据库操作...

第22章  PDO数据库抽象层
nullPDO数据库抽象层PDO数据库抽象层www.mingribook.com什么是PDO什么是PDO PDO是PHP Date Object(PHP数据对象)的简称,它是与PHP 5.1版本一起发行的,目前支持的数据库包括Firebird、FreeTDS、Interbase、MySQL、MS SQL Server、ODBC、Oracle、Postgre SQL、SQLite和Sybase。有了PDO,您不必再使用mysql_*函数、oci_*函数或者mssql_*函数,也不必再为它们封装数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作。在选择不同的数据库时,只需修改PDO的DSN(数据源名称)。 本节不但解释了什么是PDO,而且介绍了PDO的特点和安装方法。PDO连接数据库PDO连接数据库 PDO连接不同的数据库,主要应用的是PDO构造函数,传递不同的数据源、类型、数据库名称、密码等等,进而实现与不同数据库的统一连接,统一操作。构造函数的语法如下: __construct(string $dsn[,string $username[,string $password[,array $driver_options]]]) 构造函数的参数说明如下: dsn:数据源名,包括主机名端口号和数据库名称。 username:连接数据库的用户名。 password:连接数据库的密码。 driver_options:连接数据库的其他选项。PDO中执行SQL语句PDO中执行SQL语句在PDO中执行SQL语句有三种方法,下面将对这三种方法进行详细讲解:(1)exec()方法:返回执行后受影响的行数。 语法:int PDO::exec ( string statement ) 说明:参数statement是要执行的SQL语句。该方法返回执行查询时受影响的行数,通常用于INSERT、DELETE和UPDATE语句中。 (2)query()方法:通过用于返回执行查询后的结果集 语法:PDOStatement PDO::query ( string statement ) 说明:参数statement是要执行的SQL语句。它返回的是一个PDOStatement对象。 (3)预处理语句——prepare()和execute() 首先,通过prepare()方法做查询的准备工作,然后,通过execute()方法执行查询。并且还可以通过bindParam()方法来绑定参数提供给execute()方法。其语法如下: PDOStatement PDO::prepare ( string statement [, array driver_options] ) bool PDOStatement::execute ( [array input_parameters] ) PDO中获取结果集PDO中获取结果集PDO中获取结果集的方法同样有3三种,下面将对这3种方法进行系统讲解: (1)fetch()方法——获取结果集中的下一行 语法:mixed PDOStatement::fetch ( [int fetch_style [, int cursor_orientation [, int cursor_offset]]] ) 说明: 参数fetch_style:控制结果集的返回方式 PDO::FETCH_ASSOC关联数组形式 PDO::FETCH_NUM数字索引数组形式 PDO::FETCH_BOTH两者数组形式都有,这是缺省的 PDO::FETCH_OBJ按照对象的形式,类似于以前的 mysql_fetch_object() PDO::FETCH_BOUND以布尔值的形式返回结果,同时将获取的列值赋给bindParam()方法中 指定的变量 PDO::FETCH_LAZY以关联数组、数字索引数组和对象3种形式返回结果 参数cursor_orientation:PDOStatement对象的一个滚动游标,可用于获取指定的一行 参数cursor_offset:游标的偏移量。 PDO中获取结果集PDO中获取结果集(2)fetchAll()方法——获取结果集中的所有行 语法:array PDOStatement::fetchAll ( [int fetch_style [, int column_index]] ) 参数fetch_style:控制结果集中数据的显示方式。 参数column_index:字段的索引。 其返回值是一个包含结果集中所有数据的二维数组 (3)fetchColumn()方法——获取结果集中下一行指定列的值 语法:string PDOStatement::fetchColumn ( [int column_number] ) 说明:可选参数column_number设置行中列的索引值,该值从0开始。如果省略该参数则 将从第1列开始取值。 PDO中捕获SQL语句中的错误PDO中捕获SQL语句中的错误在PDO中捕获SQL语句中的错误有3种 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 可以选择: (1)使用默认模式——PDO::ERRMODE_SILENT 在默认模式中设置PDOStatement对象的errorCode属性,但不进行其他任何操作 (2)使用警告模式——PDO::ERRMODE_WARNING 警告模式会产生一个PHP警告,并设置errorCode属性。如果设置的是警告模式,那么除非明确地检查错误代码,否则程序将继续按照其方式运行。 (3)使用异常模式——PDO::ERRMODE_EXCEPTION 异常模式会创建一个PDOException,并设置errorCode属性。它可以将执行代码封装到一个try{…}catch{…}语句块中。未捕获的异常将会导致脚本中断,并显示堆栈跟踪让您了解是哪里出现的问题。PDO中错误处理PDO中错误处理PDO中有2种获取程序中错误信息的方法: (1)errorCode()方法 errorCode()方法用于获取在操作数据库句柄时所发生的错误代码,这些错误代码被称为SQLSTATE代码。其语法格式如下: int PDOStatement::errorCode ( void ) errorCode()方法返回一个SQLSTATE,SQLSTATE是由5个数字和字母组成的代码。 (2)errorInfo()方法 errorInfo()方法用于获取操作数据库句柄时所发生的错误信息。 语法:array PDOStatement::errorInfo ( void ) errorInfo()方法的返回值为一个数组,它包含了相关的错误信息。 PDO中事务处理PDO中事务处理 在PDO中实现事务处理的功能,其应用的方法如下: (1)开启事务——beginTransaction()方法 beginTransaction()方法将关闭自动提交(autocommit)模式,直到事务提交或者回滚以后才恢复。 (2)提交事务——commit()方法 commit()方法完成事务的提交操作,成功则返回TRUE,否则返回FALSE。 (3)事务回滚——rollback()方法 rollback()方法执行事务的回滚操作。PDO中存储过程PDO中存储过程 存储过程允许在更接近于数据的位置操作数据,从而减少带宽的使用,它们使数据独立于脚本逻辑,允许使用不同语言的多个系统以相同的方式访问数据,从而节省了花费在编码和调试上的宝贵时间。同时它使用预定义的方案执行操作,提高查询速度,并且能够阻止与数据的直接相互作用,从而起到保护数据的作用。 在PDO中通过CALL语句调用存储过程,通过exec()、query()或者预处理语句执行存储过程的调用语句。Thank youThank youwww.mingribook.com
本文档为【第22章 PDO数据库抽象层】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_794011
暂无简介~
格式:ppt
大小:506KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2013-04-26
浏览量:10