PHP 使用 PDO 操作 MySQL 教學基礎語法
網頁開發PHP Data Objects (PDO) 是一種在 PHP 程式語言中,用來操作資料庫的輕量級介面,不管您連結的是哪一種資料庫,都可以使用 PDO 提供的方法進行操作。PDO 早在 PHP 5.1 時就已經推出,但多數的開發人員還是使用 mysql 或 mysqli 來操作資料庫,儘管 mysql 在 PHP 5.5 已經被官方棄用,多數的開發人員還是選擇程式碼變動較少的 mysqli,而不願選擇變動比較大的 PDO。
事實上使用 PDO 是可以帶來諸多好處的,例如:防止 sql injection、物件導向、可以使用例外處理 (try catch)...等,且目前新版的 PHP 也是建議使用 PDO 來操作資料庫,這篇文章將快速的介紹 PHP 如何使用 PDO 對資料庫進行新增、刪除、修改、查詢等操作,本文語法同樣適用 MariaDB。
連接/關閉資料庫
// PDO 連線設定
$options = [
PDO::ATTR_PERSISTENT => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_STRINGIFY_FETCHES => false,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
];
//資料庫連線
try {
$pdo = new PDO('mysql:host=資料庫位址;port=連接連接埠;dbname=資料庫名稱', '帳號', '密碼', $options);
$pdo->exec('SET CHARACTER SET utf8mb4');
} catch (PDOException $e) {
throw new PDOException($e->getMessage());
}
//關閉資料庫
unset($pdo);
詳細的 PDO 連線設定請參考下列網址:
新增
$data = ['1', 'test0001'];
$sql = 'INSERT INTO user (sn, account) VALUES (?, ?)';
$sth = $pdo->prepare($sql);
try {
if ($sth->execute($data)) {
echo '新增成功';
} else {
echo '新增失敗';
}
} catch (PDOException $e) {
echo '新增失敗';
}
大家是否有發現 VALUES 的地方是用問號,這邊的問號會自動被 $data 的資料依序取代。
刪除
$query = 'DELETE FROM user WHERE sn = 1';
$sth = $pdo->prepare($query);
try {
if ($sth->execute()) {
echo '刪除成功';
} else {
echo '刪除失敗';
}
} catch (PDOException $e) {
echo '刪除失敗';
}
修改
$data = ['test0002'];
$query = 'UPDATE user SET account = ? WHERE sn = 1';
$sth = $pdo->prepare($query);
try {
if ($sth->execute($data)) {
echo '修改成功';
} else {
echo '修改失敗';
}
} catch (PDOException $e) {
echo '修改失敗';
}
查詢
$sql = 'SELECT * FROM user WHERE sn = :sn';
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':sn', '1');
$stmt->execute();
// 取得單筆資料
$stmt->fetch(PDO::FETCH_ASSOC);
// 取得多筆資料
$stmt->fetchAll(PDO::FETCH_ASSOC);
延伸閱讀
熱門文章
最新文章
0 則留言