PHP-DB - 7. レコードの削除
続いて delete
文の実行方法について取り上げます。次のプログラム( pdo5.php
)を作成します。
<?php
$dsn = "sqlite:eldb.sqlite3";
$pdo = new PDO($dsn);
$sql = "delete from categories where id = 4";
$count = $pdo->exec($sql);
echo "Count: $count" . PHP_EOL;
delete
文を実行する場合も PDO
クラスの exec
メソッドを使います。
それではコマンドラインからプログラムを実行してみましょう。
$ php pdo5.php
Count: 1
実行結果から delete
文による削除件数である 1
が出力されているのがわかります。
参考:実行結果の確認
データベースのレコードが削除されているかどうかを確認してみましょう。 SQLite
上で categories
テーブルのレコードを検索します。
sqlite> select * from categories order by id;
id title
---------- -----------
1 Programming
2 Design
3 Marketing
あるいは以前に作成したプログラム( pdo2.php
)を実行しても良いでしょう。
$ php pdo2.php
1:Programming
2:Design
3:Marketing
まとめ
PDO
インスタンスのexec
メソッドによってdelete
文を実行するexec
メソッドは戻り値に更新件数(delete
文の場合は削除件数)を返却するexec
メソッドの戻り値にテーブルのレコードは含まれない点に注意する