2021.08.31
【PHP応用】PDO⑪ DELETE文
PDO⑪ DELETE文
今回はDELETE文について紹介します。
使い方はUPDATE文とほとんど変わりません。
簡単な例を見てみましょう。
■プログラム
idが2のレコードを削除してみます。
現在の値は以下のようになっています。(UPDATE文の続きです)
pdo_delete.php
<?php try { // 接続処理 $dsn = 'mysql:host=localhost;dbname=sample_db'; $user = 'root'; $password = ''; $dbh = new PDO($dsn, $user, $password); // DELETE文を発行 $id = 2; // DELETEするレコードのID $sql = "DELETE FROM members WHERE id = :id"; $stmt = $dbh->prepare($sql); $stmt->bindValue(":id", $id); // 削除したいIDでバインド $stmt->execute(); // DELETE文実行 print("レコードを削除しました"); // 接続切断 $dbh = null; } catch (PDOException $e) { print $e->getMessage() . "<br/>"; die(); } ?>
■解説
基本的には削除したい主キー(今回はID)をWHERE句でバインドし、DELETE文を実行します。
$sql = "DELETE FROM members WHERE id = :id";
実際にレコードを削除する場合には、
今回のようにDELETE文を使用した完全削除(物理削除)を行わずに
削除フラグを管理するカラムを用意し、切り替えることによって
レコードの無効化(論理削除)することが多いため
他のSQLと比べると使用頻度は少ないかもしれません。
■まとめ
- 主キーを指定し、DELETE文を実行する
- 他のSQLと比べると使用頻度は少ない