PHP PDO是PHP資料庫擴充的重要元件,它為PHP與多種關係型資料庫提供了統一的API,使用PDO可以讓我們的程式更安全、更有效率、更易於維護。
在本文中,我們將介紹PHP PDO的用法,包括如何連接資料庫、執行SQL語句、交易處理等面向。
一、連接資料庫
連接資料庫是使用PDO進行資料庫操作的關鍵步驟,連接資料庫前需要先準備好資料庫位址、使用者名稱、密碼、對應的資料庫名稱等資訊。
連接資料庫程式碼如下:
// 数据库连接信息,根据实际情况修改 $db_host = 'localhost'; // 数据库地址 $db_name = 'mydatabase'; // 数据库名称 $db_user = 'root'; // 数据库用户名 $db_password = 'password'; // 数据库密码 // 创建PDO对象 try { $pdo = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_password); } catch (PDOException $e) { echo '数据库连接失败:' . $e->getMessage(); exit; }
二、執行SQL語句
連線好資料庫後,我們要對資料庫進行操作,首先要學習如何執行SQL語句。 PDO提供了多個執行SQL語句的方法,比較常用的是query()
和prepare()
方法。
1、使用query()方法執行SQL語句
#query()
方法可以直接執行SQL語句,語句執行成功後,回傳PDOStatement物件。
例如我們要查詢一張使用者表(user)中的數據,程式碼如下:
$sql = "SELECT * FROM user"; // SQL语句 $stmt = $pdo->query($sql); // 执行SQL语句,返回PDOStatement对象 // 获取查询结果 while ($row = $stmt->fetch()) { print_r($row); }
2、使用prepare()方法執行SQL語句
prepare()
方法可以準備一個SQL語句,並使用變數綁定的方式來執行該SQL語句,使用變數綁定可以防止SQL注入攻擊。
程式碼如下:
$sql = "SELECT * FROM user WHERE id = ?"; // SQL语句,使用?作为占位符 $stmt = $pdo->prepare($sql); // 准备SQL语句 $id = 1; // 赋值给变量$id $stmt->execute([$id]); // 执行SQL语句并传入变量值 // 获取查询结果 while ($row = $stmt->fetch()) { print_r($row); }
三、交易處理
在資料庫操作中,有些操作需要同時執行多條SQL語句,這時候就需要使用到交易處理。事務處理要確保所有操作都成功才會提交,否則會回滾到事務開始前的狀態。
程式碼如下:
$pdo->beginTransaction(); // 开启事务 // 定义SQL语句 $sql1 = "DELETE FROM user WHERE id = ?"; $sql2 = "INSERT INTO user (uname, age) VALUES (?, ?)"; // 准备SQL语句 $stmt1 = $pdo->prepare($sql1); $stmt2 = $pdo->prepare($sql2); // 赋值给变量 $id = 1; // 要删除的数据ID $uname = 'test'; // 新增数据的用户名 $age = 18; // 新增数据的年龄 // 执行SQL语句 $stmt1->execute([$id]); $stmt2->execute([$uname, $age]); // 提交事务 $pdo->commit();
以上就是PHP PDO的基本用法,對於更進階的應用,還可以使用PDO的一些進階功能,例如預處理語句和命名綁定等。希望本文能對你在PHP開發中使用PDO有幫助。
以上是PHP資料庫學習之詳解PDO的基本用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!