1、PDO:PDO 簡介 PDO(PHP Data Object)即PHP數據對象,其為PHP訪問不同的資料庫定義了一致的介面。PDO只是抽象層面的介面,本身並不能提供訪問資料庫的能力,要想使用PDO訪問資料庫,需要為其指定一個實現了PDO介面的資料庫驅動。其類似於JAVA中的JDBC規範。 實現了 ...
1、PDO:PDO 簡介
PDO(PHP Data Object)即PHP數據對象,其為PHP訪問不同的資料庫定義了一致的介面。PDO只是抽象層面的介面,本身並不能提供訪問資料庫的能力,要想使用PDO訪問資料庫,需要為其指定一個實現了PDO介面的資料庫驅動。其類似於JAVA中的JDBC規範。
實現了PDO介面規範的具體資料庫驅動,暴露了一致的介面,把資料庫之間訪問邏輯的差異性和缺陷修補邏輯封裝起來。用戶只需知道暴露的方法,而無需關心具體實現。
由於PDO基於面向對象,所以PHP版本必須為至少5.0才能正常工作。
安裝
PHP5和之後的版本都支持PDO,PHP 5.1起,預設會啟用PDO。如果沒有啟用PDO,可以在php.ini配置文件中配置啟用PDO擴展。
[php.ini]
//unix、linux
extension=pdo.so
//windows
extension=php_pdo.dll
官方文檔中說明瞭這個步驟不一定是必須的,在PHP 5.3以及之後POD將不再以dll的形式。
開啟PDO之後,需要在php.ini配置文件中選擇開啟對應的資料庫驅動,以Windows下為例:
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
...
需要註意的是,所有驅動的開啟必須在PDO開啟載入之後才能生效,所以要把開啟驅動的聲明放在開啟PDO語句下麵。
配置完成之後,記得重啟伺服器以完成載入PDO擴展。
DSN
配置完成PDO之後,需要測試配置好的PDO是否可用。在這之前,需要瞭解DSN是什麼。DSN(DataSource Name)即數據源名稱,官方的解釋是:數據源名稱或叫做 DSN,包含了請求連接到資料庫的信息。 通常,一個 DSN 由 PDO 驅動名、緊隨其後的冒號、以及具體 PDO 驅動的連接語法組成。
DNS有三種不同的連接方式:
- 指定驅動 其包含了完整的DSN信息
- URL 格式為:
uri:file:///path/to/dsnfile
- 指定別名,可在php.ini或者httpd.f中配置
測試
以MySQL資料庫為測試例子:
開啟MySQL的PDO擴展,在項目文件夾建立一個文件:index.php
<?php
$username = 'root';
$pwd = '';
$dsn = 'mysql:host=127.0.0.1;dbname=test';
$db = new PDO($dsn, $username, $pwd);
$result = $db->query('SELECT * FROM access_log'); //執行查詢獲取結果集
echo '<pre>';
foreach($result as $row) {
print_r($row);
}
echo '</pre>';
$db = null; //釋放資料庫資源
之後訪問頁面,如果有記錄輸出,則PDO安裝成功了。以上代碼的具體解釋,將在下一章節說明。