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具體說明: