PHP PDO
PHP PDO简介
PDO (PHP Data Object) 是 PHP5 的新特性,在 PHP6 中,PDO 将是默认的数据库处理方式,所以我们有必要学习一下 PDO。
在 PHP5 以前的版本中,对于数据库的处理通常是通过一些扩展来支持的。如 windows 版本下的 php_mysql.dll、php_mssql.dll 这些扩展分别用于处理 mysql 和 MS SQL Server 等数据库。现在,POD 的出现,为我们提供了统一的数据库处理接口。
PDO 是面向对象方式处理数据库连接操作的,其预定义了以下 3 个类:
- PDO:代表一个 PHP 和数据库之间的连接。
- PDOStatement:代表一条预处理语句以及语句执行后的联合结果集(associated result set)。
- PDOException:返回PDO触发的错误。
常用的数据库操作方法如下:
- PDO::query():主要是用于有记录结果返回的操作,如 SELECT 操作。
- PDO::exec():主要是针对没有结果集合返回的操作,比如 INSERT、UPDATE、DELETE 等操作,它返回的结果是当前操作影响的列数。
- PDO::prepare():主要是用于预处理操作,需要通过 PDOStatement::execute() 来执行预处理里面的 SQL 语句,这个方法可以绑定参数,功能强大,相对比较复杂。
PHP PDO安装
在 PHP5 系列版本中,PDO不是默认支持的,需要手工配置才可以使用。打开 php.ini 文件,将
extension=php_pdo.dll extension=php_pdo_mysql.dll
配置前面的 ; 符号去掉以使 PHP 支持 PDO 。上述配置只打开了对 MySQL 的 PDO 支持,如果需要对别的数据库类型进行支持,可以分别打开对应的不同配置:
extension=php_pdo_oci.dll extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll
配置完成后保存配置并重启 Apache Web 服务,可以通过 phpinfo() 查看配置是否成功。
PDO 创建连接
在使用 PDO 操作数据库之前,需要创建 PDO 连接对象。
语法:
new PDO(DSN, username, password);
不同的数据库,其 DSN(Data Source Name) 构造方式是不一样的。常见数据库 DSN 语法如下:
//MySQL: mysql:host=hostname;dbname=db_name) //SQLite: sqlite:db_name //PGSQL pgsql:host=hostname port=port_id dbname=db_name user=username password=password