- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?第10章 PDO方式访问数据库 10 . 1 PDO的基本概念 10 . 2 PDO访问异构数据库的方法 10 . 3 PDO访问数据库实例 10 . 1 PDO的基本概念 例如,在第9章介绍的mysql函数就只能访问MySQL数据库。如果需要处理Oracle,就必须安装和重新学习PHP中处理Oracle的扩展函数库,如图10.1所示。 10 . 1 PDO的基本概念 访问每种数据库时都需要学习新的函数库,这很麻烦,而且使得PHP应用程序在异构数据库间的移植难以实现。为了解决这样的难题,就需要一个“数据库抽象层”。它能解决应用程序逻辑与数据库通信逻辑之间的耦合,通过这个通用接口传递所有与数据库相关的命令,PDO就是这样一个“数据库抽象层”,它的作用是统一各种数据库的访问接口,能够轻松地在不同数据库之间进行切换,使得PHP程序在数据库间的移植容易实现。如图10.2所示描述了这一过程。 10 . 1 PDO的基本概念 PDO对各种数据库的支持及对应使用的驱动名称,如表10.1所示。 驱 动 名 对应访问的数据库 PDO_CUBRID Cubrid PDO_DBLIB FreeTDS / Microsoft SQL Server 2005 / Sybase PDO_FIREBIRD Firebird/Interbase 6 PDO_IBM IBM DB2 PDO_INFORMIX IBM Informix Dynamic Server PDO_MYSQL MySQL 3.x/4.x/5.x PDO_OCI Oracle (OCI=Oracle Call Interface) PDO_ODBC ODBC v3 (IBM DB2, unixODBC and win32 ODBC) PDO_PGSQL PostgreSQL PDO_SQLITE SQLite 3 及 SQLite 2 PDO_SQLSRV Microsoft SQL Server 2008及以上/ SQL Azure PDO_4D 4D 10 . 2 PDO访问异构数据库的方法 10.2.1 安装PDO 在Windows环境下PHP 5.1以上版本中,PDO和主要数据库的驱动同PHP一起作为扩展发布,要激活它们只需要简单地编辑php.ini文件,去掉相应数据库PDO驱动dll之前的注释符(;)即可。例如: [PHP_PDO_MYSQL] extension=php_pdo_mysql.dll //激活MySQL的PDO驱动 [PHP_PDO_ODBC] extension=php_pdo_odbc.dll //激活ODBC的PDO驱动 [PHP_PGSQL] extension=php_pgsql.dll //激活PostgreSQL的PDO驱动 10.2.2 创建PDO对象 在使用PDO与数据库交互之前,首先要创建一个PDO对象,创建PDO对象的语句格式如下: $db=new PDO(DSN,username,password); 其中,DSN是数据源名,username为连接数据库的用户名,password为密码。针对不同DBMS的DSN是不同的,如表10.2所示。 DBMS DSN SQL Server 2005 mssql:host=localhost;dbname=testdb Sybase sybase:host=localhost;dbname=testdb MySQL mysql:host=localhost;dbname=testdb SQL Server 2008 sqlsrv:Server=localhost;Database=testdb Oracle oci:dbname=//localhost:1521/testdb ODBC odbc:testdb PostgreSQL pgsql:host=localhost;port=5432;dbname=testdb 10.2.3 使用PDO 创建好PDO对象后,就可以在编程中使用它来访问数据库了,对于PDO来说,访问不同数据库的接口是完全相同的。 当执行INSERT、UPDATE和DELETE等没有结果集的查询时,使用PDO对象中的exec()方法去执行。该方法成功执行后,将返回受影响的行数。 当执行返回结果集的SELECT查询时,或者所影响的行数无关紧要时,应当使用PDO对象中的query()方法。如果该方法成功执行指定的查询,则返回一个PDOStatement对象。如果使用了query()方法,并想要了解获取的数据行总数,可以使用PDOStatement对象中的rowCount
您可能关注的文档
- 第01讲:抽样和抽样分布.ppt
- 第01章:Tomcat初体验.ppt
- 第02章Oracle数据库常用工具.ppt
- 第02章VFP系统环境.ppt
- 第02章关系数据库理论基础.ppt
- 第02章牛顿运动定律-qr2009.ppt
- 第02讲抽样与估计.ppt
- 第02讲:点估计和估计量的求法.ppt
- 第03章3.4二进制除法运算.ppt
- 第03章JDBC:数据库连接.ppt
- 2023咸阳职业技术学院招聘笔试真题参考答案详解.docx
- 2023四川化工职业技术学院招聘笔试真题及参考答案详解.docx
- 2023哈尔滨职业技术学院招聘笔试真题及参考答案详解.docx
- 2023商洛职业技术学院招聘笔试真题及答案详解1套.docx
- 2023呼伦贝尔职业技术学院招聘笔试真题参考答案详解.docx
- 2023南阳农业职业学院招聘笔试真题参考答案详解.docx
- 2023天津公安警官职业学院招聘笔试真题带答案详解.docx
- 2023年上海电机学院招聘笔试真题参考答案详解.docx
- 2023年四川艺术职业学院招聘笔试真题参考答案详解.docx
- 2023安徽体育运动职业技术学院招聘笔试真题及答案详解一套.docx
最近下载
- 中医内科学课件:胃痛.ppt
- 广州市海绵城市建设技术指引及标准图集(试行).pdf
- 基于SpringBoot技术的论坛系统设计与实现.docx
- 本科毕业设计—110kv变电站电气一次部分设计 发电厂课程设计报告.doc VIP
- 世界甲状腺日甲状腺健康科普PPT.pptx VIP
- 电力线路维保服务投标方案(技术方案).pdf VIP
- 2024-2025学年中职思想政治中国特色社会主义高教版(2023)教学设计合集.docx
- 第32课《让思维活跃起来》课件2024北师大版心理健康七年级下册 .ppt
- 山东省(烟台市、德州市)2025届高三高考适应性测试化学试题及答案.docx VIP
- 黑龙江高职高专:畜牧兽医专业建设方案.doc
文档评论(0)