首頁  >  文章  >  後端開發  >  PHP入門指南:PDO資料庫

PHP入門指南:PDO資料庫

WBOY
WBOY原創
2023-05-20 17:42:06912瀏覽

PHP是一門非常受歡迎的伺服器端程式語言,其靈活性和易用性使其成為Web開發的首選語言之一。在Web應用程式開發中,與資料庫互動的過程是非常重要的,PDO(PHP Data Object)是PHP的一個擴充庫,用於提供一個通用的介面來與多種關係型資料庫進行交互,包括MySQL、 PostgreSQL、Oracle等。本文將介紹如何使用PDO操作資料庫,適用於初學者。

  1. 安裝PDO擴充功能

在使用PDO之前,需要確認PHP是否已經安裝PDO擴充功能。可以透過phpinfo()函數來查看PHP的擴充列表。若擴充清單中沒有PDO擴展,需要在php.ini檔案中設定extension=pdo.so和extension=pdo_mysql.so,然後重新啟動Web伺服器,以啟用PDO擴充。

  1. 連接資料庫

使用PDO連接資料庫非常方便,只需要提供資料庫的相關資訊。以下是連接MySQL資料庫的範例程式碼:

$dbname = "test";
$host = "localhost";
$user = "root";
$pass = "password";

$dsn = "mysql:host=" . $host . ";dbname=" . $dbname;
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}

在以上程式碼中,首先設定了資料庫的相關信息,包括資料庫名稱、主機、使用者名稱和密碼。然後,利用DSN(Data Source Name)將資料庫資訊傳遞給PDO。在options數組中設定了三個選項:

  • ATTR_ERRMODE,表示PDO錯誤處理模式,採用例外的方式拋出錯誤訊息。
  • ATTR_DEFAULT_FETCH_MODE,表示結果集的取得方式,預設為關聯陣列。
  • MYSQL_ATTR_INIT_COMMAND,表示初始化SQL指令,設定字元集為utf8。

try-catch區塊捕捉連接資料庫出錯的異常,輸出錯誤訊息。

  1. 執行SQL語句

在連線資料庫成功後,就可以執行SQL語句進行資料操作了。 PDO提供了三個主要的PDO語句物件:

  • PDO::query(),執行一則SQL查詢語句,並傳回結果集。適用於SELECT語句。
  • PDO::prepare(),預處理SQL語句。適用於SELECT、UPDATE、INSERT、DELETE等語句。
  • PDO::exec(),執行一條SQL語句,並傳回受影響的行數。適用於UPDATE、INSERT、DELETE等語句。

以下是使用PDO::query()查詢記錄並輸出的範例程式碼:

$sql = "SELECT * FROM user";
try {
    $stmt = $pdo->query($sql);
    while ($row = $stmt->fetch()) {
        echo "Name: " . $row['name'] . "<br>";
        echo "Age: " . $row['age'] . "<br>";
    }
} catch (PDOException $e) {
    echo "Query failed: " . $e->getMessage();
}

在上述程式碼中,首先定義了一個SQL查詢語句,查詢使用者表中的記錄。接著使用query()方法執行SQL語句,$stmt變數傳回包含查詢結果的PDOStatement物件。然後使用fetch()方法遍歷結果集,輸出每一行記錄的姓名和年齡。如果執行查詢出錯,try-catch區塊會擷取異常並輸出錯誤訊息。

以下是使用PDO::prepare()插入記錄的範例程式碼:

$sql = "INSERT INTO user(name, age) VALUES(:name, :age)";
try {
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':age', $age);

    $name = "Alice";
    $age = 30;
    $stmt->execute();

    echo "Record inserted successfully.";
} catch (PDOException $e) {
    echo "Insert failed: " . $e->getMessage();
}

在上述程式碼中,首先定義了一條SQL插入語句,向使用者表中插入一筆記錄。使用prepare()方法預處理SQL語句,$stmt變數傳回包含預處理語句的PDOStatement物件。然後使用bindParam()方法將佔位符與實際參數綁定。接著設定參數值,最後使用execute()方法執行SQL語句。如果執行插入出錯,try-catch區塊會擷取異常並輸出錯誤訊息。

  1. 關閉資料庫連線

當不再需要使用資料庫連線時,應該及時關閉資料庫連線以釋放資源。可以使用PDO::null()方法關閉,例如:

$pdo = null;

以上是使用PDO進行資料庫操作的簡單範例。使用PDO不僅方便,而且具有高度的可移植性和安全性。透過學習本文所述的方法,您可以快速入門並開始使用PDO進行自己的Web應用程式開發。

以上是PHP入門指南:PDO資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn