PHP PDO

PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。

PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。

PDO随PHP5.1发行,在PHP5.0的PECL扩展中也可以使用,无法运行于之前的PHP版本。


PDO 安装

你可以通过 PHP 的 phpinfo() 函数来查看是否安装了PDO扩展。

在 Unix 系统上安装 PDO

在Unix上或Linux上你需要添加以下扩展:

									extension=pdo.so

Windows 用户

PDO 和所有主要的驱动作为共享扩展随 PHP 一起发布,要激活它们只需简单地编辑 php.ini 文件,并添加以下扩展:

										extension=php_pdo.dll
除此之外还有以下对应的各种数据库扩展:
											;extension=php_pdo_firebird.dll
;extension=php_pdo_informix.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;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

在设定好这些配置后,我们需要重启PHP 或 Web服务器。

接下来我们们来看下具体的实例,以下为使用PDO连接MySql数据库的实例:

实例

<?php
$dbms = 'mysql' ;     //数据库类型
$host = 'localhost' ; //数据库主机名
$dbName = 'test' ;     //使用的数据库
$user = 'root' ;       //数据库连接用户名
$pass = '' ;           //对应的密码
$dsn = " $dbms :host=$host ;dbname=$dbName " ;


try {
    $dbh = new PDO ( $dsn , $user , $pass ) ; //初始化一个PDO对象
    echo "连接成功<br/>" ;
    /*你还可以进行一次搜索操作
    foreach ($dbh->query('SELECT * from FOO') as $row) {
        print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
    }
    */

    $dbh = null ;
} catch ( PDOException $e ) {
    die ( "Error!: " . $e -> getMessage ( ) . "<br/>" ) ;
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db = new PDO ( $dsn , $user , $pass , array ( PDO :: ATTR_PERSISTENT => true ) ) ;

?>

很简单吧,接下来就让我们来具体看下PHP PDO具体说明: