一、简单介绍
当用PHP访问数据库时,常见的选择是 PDO和MySQLi,PDO和MySQLi都支持通过面向对象的形式提供API,其中MySQLi也提供了面向过程的API。MySQLi只支持MySQL,而PDO支持多种数据库,因此使用PDO可以不改代码,就讲后端存储的数据库进行替换。
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。还需要更具体驱动扩展,才能真正连接相应的数据库。
具体的驱动扩展列表如下
;extension=php_pdo_firebird.so
;extension=php_pdo_informix.so
;extension=php_pdo_mssql.so
;extension=php_pdo_mysql.so
;extension=php_pdo_oci.so
;extension=php_pdo_oci8.so
;extension=php_pdo_odbc.so
;extension=php_pdo_pgsql.so
;extension=php_pdo_sqlite.so
以 php_pdo_mysql.so 为例,就是用来连接mysql数据库的驱动。
执行 phpinfo(),pdo部分输出如下,可以看到这里PDO支持的驱动有sqlite, mysql,也就是该环境PDO目前支持连接sqlite, mysql这两种数据库。
PDO
PDO support => enabled
PDO drivers => sqlite, mysql
pdo_mysql
PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 2015