




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PDO数据库抽象层,什么是PDO,PDO是PHPDateObject(PHP数据对象)的简称,它是与PHP5.1版本一起发行的,目前支持的数据库包括Firebird、FreeTDS、Interbase、MySQL、MSSQLServer、ODBC、Oracle、PostgreSQL、SQLite和Sybase。有了PDO,您不必再使用mysql_*函数、oci_*函数或者mssql_*函数,也不必再为它们封装数据库操作类,只需要使用PDO接口中的方法就可以对数据库进行操作。在选择不同的数据库时,只需修改PDO的DSN(数据源名称)。本节不但解释了什么是PDO,而且介绍了PDO的特点和安装方法。,PDO连接数据库,PDO连接不同的数据库,主要应用的是PDO构造函数,传递不同的数据源、类型、数据库名称、密码等等,进而实现与不同数据库的统一连接,统一操作。构造函数的语法如下:_construct(string$dsn,string$username,string$password,array$driver_options)构造函数的参数说明如下:dsn:数据源名,包括主机名端口号和数据库名称。username:连接数据库的用户名。password:连接数据库的密码。driver_options:连接数据库的其他选项。,PDO中执行SQL语句,在PDO中执行SQL语句有三种方法,下面将对这三种方法进行详细讲解:(1)exec()方法:返回执行后受影响的行数。语法:intPDO:exec(stringstatement)说明:参数statement是要执行的SQL语句。该方法返回执行查询时受影响的行数,通常用于INSERT、DELETE和UPDATE语句中。(2)query()方法:通过用于返回执行查询后的结果集语法:PDOStatementPDO:query(stringstatement)说明:参数statement是要执行的SQL语句。它返回的是一个PDOStatement对象。(3)预处理语句prepare()和execute()首先,通过prepare()方法做查询的准备工作,然后,通过execute()方法执行查询。并且还可以通过bindParam()方法来绑定参数提供给execute()方法。其语法如下:PDOStatementPDO:prepare(stringstatement,arraydriver_options)boolPDOStatement:execute(arrayinput_parameters),PDO中获取结果集,PDO中获取结果集的方法同样有3三种,下面将对这3种方法进行系统讲解:(1)fetch()方法获取结果集中的下一行语法:mixedPDOStatement:fetch(intfetch_style,intcursor_orientation,intcursor_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中获取结果集,(2)fetchAll()方法获取结果集中的所有行语法:arrayPDOStatement:fetchAll(intfetch_style,intcolumn_index)参数fetch_style:控制结果集中数据的显示方式。参数column_index:字段的索引。其返回值是一个包含结果集中所有数据的二维数组(3)fetchColumn()方法获取结果集中下一行指定列的值语法:stringPDOStatement:fetchColumn(intcolumn_number)说明:可选参数column_number设置行中列的索引值,该值从0开始。如果省略该参数则将从第1列开始取值。,PDO中捕获SQL语句中的错误,在PDO中捕获SQL语句中的错误有3种方案可以选择:(1)使用默认模式PDO:ERRMODE_SILENT在默认模式中设置PDOStatement对象的errorCode属性,但不进行其他任何操作(2)使用警告模式PDO:ERRMODE_WARNING警告模式会产生一个PHP警告,并设置errorCode属性。如果设置的是警告模式,那么除非明确地检查错误代码,否则程序将继续按照其方式运行。(3)使用异常模式PDO:ERRMODE_EXCEPTION异常模式会创建一个PDOException,并设置errorCode属性。它可以将执行代码封装到一个trycatch语句块中。未捕获的异常将会导致脚本中断,并显示堆栈跟踪让您了解是哪里出现的问题。,PDO中错误处理,PDO中有2种获取程序中错误信息的方法:(1)errorCode()方法errorCode()方法用于获取在操作数据库句柄时所发生的错误代码,这些错误代码被称为SQLSTATE代码。其语法格式如下:intPDOStatement:errorCode(void)errorCode()方法返回一个SQLSTATE,SQLSTATE是由5个数字和字母组成的代码。(2)errorInfo()方法errorInfo()方法用于获取操作数据库句柄时所发生的错误信息。语法:arrayPDOStatement:errorInfo(void)errorInfo()方法的返回值为一个数组,它包含了相关的错误信息。,PDO中事务处理,在PDO中实现事务处理的功能,其应用的方法如下:(1)开启事务beginTransaction()方法beginTransaction()方法将关闭自动提交(autocommit)模式,直到事务提交或者回滚以后才恢复。(2)提交事务commit()方法commit()方法完成事务的提交操作,成功则返回TRUE,否则返回FALSE。(3)事务回滚rollback()方法rollback()方法执行事务的回滚操作。,PDO中存储过程,存储过程允许在更接近于数据的位置操作数据,从而减少带宽的使用,它们使数据独立于脚本逻辑,允许使用不同语言的多个系统以相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高校学生实习保密责任书
- 2025年大件货物运输合同模板及运输路线规划
- 2025彩钢房智能仓储解决方案合同
- 2025年度智慧城市区域承包运营管理合同
- 2025版地下空间打桩工程合同范本
- 2025版海绵城市铺装工程合作协议
- 2025二手挖机二手挖掘设备买卖合同示范文本
- 2025年太阳能照明系统维护与检修合同
- 2025房地产抵押贷款中介服务合同范本
- 2025年食品加工委托生产产业链整合合作协议
- 糖尿病患者围手术期麻醉管理
- 胃肠疾病预防与健康管理
- 2025年全国新高考英语II卷试题解析及复习备考策略(课件)
- 全球化背景下文化自信的传承与创新
- 合规监督概念课件
- 电力变压器智能数字孪生体的构建与展望
- 无锡金栢精密模具有限公司搬迁项目环评资料环境影响
- 放射防护监测原始记录表模板
- 2025-2030中国奶酪行业市场发展现状及竞争格局与投资前景研究报告
- 垫资过桥合同协议
- 规范化司法所模板
评论
0/150
提交评论