【PHP】MySQLのレコードを削除する
公開日:
更新日:
カテゴリー: PHP
PHPからMySQLにアクセスして指定のレコード(データ)を削除する方法を説明します。
PHPからMySQLに接続してレコードを削除
PHPからMySQLへの接続・処理はPDOクラスを使用します。
PDOクラスの説明は【PHP】MySQLにレコードを挿入するで行っていますのでそちらを参照して下さい。
オブジェクトの作成
まずはオブジェクトの作成を行います。
1 2 | //PDOオブジェクトの作成 $pdo = new PDO( "mysql:host=MySQLサーバのホスト名;dbname=データベース名;charset=utf8;" , "データベース接続のID" , "データベース接続のパスワード" ); |
SQLの準備
次にSQLの準備を行います。
1 2 | //SQLの準備 $st = $pdo ->prepare( "DELETE FROM テーブル名 WHERE フィールド名=? " ); |
削除するレコードがある「テーブル名」と削除するレコードを指定する「フィールド名」を決めます。
「?」は文字化けや記入ミスではなくプレースホルダといいます。
SQLの発行
そして最後にSQLの発行を行います。
1 2 | //SQLの発行 $st ->execute( array ( "○○○" )); |
「○○○」のデータ(値)が先ほどのプレースホルダ「?」に該当します。
レコードを削除するプログラム
MySQLのレコードを削除するサンプルプログラムを書いてみたいと思います。
環境の整理
説明のために環境を整理しておきたいと思います。
データベースに「sample」というテーブルを作成し、そこに「id」「name」「sex(性別)」という3つのフィールドを作成します。
そして以下のレコードがあるとします。
id | name | sex |
---|---|---|
1 | 大野智 | 男 |
2 | 小嶋陽菜 | 女 |
3 | 櫻井翔 | 男 |
4 | 川栄李奈 | 女 |
5 | 相葉雅紀 | 男 |
6 | 島崎遥香 | 女 |
7 | 二宮和也 | 男 |
8 | 高橋みなみ | 女 |
9 | 松本潤 | 男 |
10 | 横山由依 | 女 |
レコードの削除
「name」フィールドに「川栄李奈」をもつレコードを削除したいと思います。
1 2 3 4 5 6 | //PDOオブジェクトの作成 $pdo = new PDO( "mysql:host=MySQLサーバのホスト名;dbname=データベース名;charset=utf8;" , "データベース接続のID" , "データベース接続のパスワード" ); //SQLの準備 $st = $pdo ->prepare( "DELETE FROM sample WHERE name=? " ); //SQLの発行 $st ->execute( array ( "川栄李奈" )); |
これを実行すれば、上記表の4番目のレコードが削除されます。
なお、PDOでMySQLに接続する際には、【PHP】PDOでMySQLに接続する際、必ず例外処理(try,catch)を行うにあるように例外処理を行うようにしてください。
あわせて読んでほしい!
コメント
まだコメントはありません。
コメントフォーム