跳轉至內容

PHP 程式設計/PHP 資料物件

來自華夏公益教科書
這裡提供的資訊不適用於所有版本的 PHP
適用版本:PHP 5.0 及更高版本
PHP 資料物件擴充套件需要 PHP 5.0 中引入的功能,因此不適用於 PHP 4.x 及更低版本的使用者。

PHP 資料物件,也稱為PDO,是一種用於訪問 PHP 中資料庫的介面,而不將程式碼繫結到特定的資料庫。開發人員可以使用 PDO 介面,而不是直接呼叫mysql_mysqli_pg_函式,從而簡化了應用程式移植到其他資料庫的過程。

我如何獲得它?

[編輯 | 編輯原始碼]

PHP 資料物件擴充套件目前預設包含在 PHP 5.1 的安裝中。它可用於 PHP 5.0 使用者,透過 PECL,但不會隨基本包一起提供。

PDO 使用最初在 PHP 5.0 中引入的 PHP 功能。因此,它不適用於 PHP 4.x 及更低版本的使用者。

PDO 和 MySQL 擴充套件之間的區別

[編輯 | 編輯原始碼]

PHP 資料物件與大多數 PHP 4.x 及更低版本應用程式使用的 MySQL 介面相比,具有許多顯著的差異

  • 面向物件。雖然mysql擴充套件使用了一些在連線控制代碼和結果控制代碼上操作的函式呼叫,但 PDO 擴充套件具有面向物件的介面。
  • 資料庫獨立性。PDO 擴充套件與mysql擴充套件不同,它被設計為與多個數據庫相容,只要使用標準 SQL,使用者幾乎不需要付出任何努力。
  • 透過資料來源名稱DSN建立與資料庫的連線。DSN 是一個包含連線到資料庫所需所有資訊的字串,例如 'mysql:dbname=test_db'。

PHP 資料物件使用示例

[編輯 | 編輯原始碼]
$dsn = 'mysql:dbname=database_name;host=localhost';
$dbuser = 'database_user';
$dbuserpw = 'database_user_password';

try
{
    $connection = new PDO($dsn, $dbuser, $dbuserpw);
}
catch (PDOException $e)
{
    echo 'There was a problem connecting to the database: ' . $e->getMessage();
}

$query = $connection->query("SELECT * FROM table"); // querying the database

有關資料來源名稱和特定 PDO 驅動程式(如 MySQL 和 PostgreSQL)的 DSN 字串中元素的更多資訊,請參見 PHP:PDO 驅動程式 - 手冊

[編輯 | 編輯原始碼]


華夏公益教科書