首页 » 网站建设 » mdb2php技巧_细说PHP第四版 样章 第18章 数据库抽象层PDO 2

mdb2php技巧_细说PHP第四版 样章 第18章 数据库抽象层PDO 2

访客 2024-11-08 0

扫一扫用手机浏览

文章目录 [+]
小编

18.2 PDO所支持的数据库

利用PHP可以处理各种数据库系统,包括MySQL、PostgreSQL、Oracle、MsSQL等。
但访问不同的数据库系统时,其所利用的PHP扩展函数也是不同的。
例如,利用PHP的MySQL或MySQLi扩展函数,只能访问MySQL数据库;如果须要处理Oracle数据库,就必须安装和重新学习PHP中处理Oracle的扩展函数库,每种数据库都有对应的扩展函数,如图18-3所示。
运用每种数据库时都须要学习特定的函数库,这样是比较麻烦的,更主要的是这使得数据库间的移植难以实现。

mdb2php技巧_细说PHP第四版 样章 第18章 数据库抽象层PDO 2

为理解决这个难题,就须要一种“数据库抽象层”。
它能办理运用程序逻辑与数据库通信逻辑之间的耦合,通过这个通用接口传递所有与数据库干系的命令,运用程序就能利用多种数据库办理方案中的某一种,只要该数据库支持运用程序所须要的特性,而且抽象层供应了与该数据库兼容的驱动程序。
如图18-4为数据库抽象层的运用模式。

mdb2php技巧_细说PHP第四版 样章 第18章 数据库抽象层PDO 2
(图片来自网络侵删)

PDO便是一个“数据库访问抽象层”,其浸染是统一各种数据库的访问接口,能够轻松地在不同数据库之间进行切换,使得数据库间的移植随意马虎实现。
与MySQL和MySQLi的函数库比较,PDO让跨数据库的利用更具亲和力;与ADODB和MDB2等同类数据库访问抽象层比较,PDO更高效。
其余,PDO与PHP支持的所有数据库扩展都非常相似,由于PDO借鉴了以往数据库扩展的最好特性。

图18-3 每种数据库都有对应的扩展函数

图18-4 数据库抽象层的运用模式

对任何数据库的操作,并不是利用PDO扩展本身实行的,必须针对不同的数据库做事器利用特定的PDO驱动程序访问。
驱动程序扩展则为PDO和本地RDBMS客户机API库架起一座桥梁,用来访问指定的数据库系统。
这能大大提高PDO的灵巧性,由于PDO在运行时才加载必需的数据库驱动程序,以是不须要在每次利用不同的数据库时重新配置和编译PHP。
例如,如果数据库做事器须要从MySQL切换到Oracle,只要重新加载PDO_OCI驱动程序就可以了。
支持PDO的驱动及相应的数据库如表18-1所示。

表18-1 支持PDO的驱动及相应的数据库

想要确定所处的环境中是否有可用的PDO驱动程序,可以在浏览器中通过加载phpinfo()函数,查看PDO部分的列表,或者查看pdo_drivers()函数返回的数组来判断。

相关文章