【程式設計】PHP 使用 PDO 操作 MySQL 教學基礎語法

這篇文章快速介紹PHP如何對資料庫進行新增、刪除、修改、查詢等功能。PHP連結MySQL可以使用mysql模組、mysqli模組及PDO模組,由於目前新版的PHP建議使用PDO來操作資料庫,因此本文內容將以PDO模組為主,本文語法同樣適用MariaDB。
1連接/關閉資料庫
// PDO 連線設定
$options = [
PDO::ATTR_PERSISTENT => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => 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連線設定請參考下列網址:
2新增
$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的資料依序取代。
3刪除
$query = 'DELETE FROM user WHERE sn = 1';
$sth = $pdo->prepare($query);
try {
if ($sth->execute()) {
echo '刪除成功';
} else {
echo '刪除失敗';
}
} catch (PDOException $e) {
echo '刪除失敗';
}
4修改
$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 '修改失敗';
}
5查詢
$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);
Facebook 留言