网站大量收购独家精品文档,联系QQ:2885784924

第10章PDO方式访问数据库.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档