PHP-DB - 6. レコードの更新
続いて update 文の実行方法について取り上げます。次のプログラム( pdo4.php )を作成します。
<?php
$dsn = "sqlite:eldb.sqlite3";
$pdo = new PDO($dsn);
$sql = "update categories set title = 'Camera' where id = 4";
$count = $pdo->exec($sql);
echo "Count: $count" . PHP_EOL;update 文を実行する場合も、 insert 文を実行する場合と同様に PDO クラスの exec メソッドを使います。

それではコマンドラインからプログラムを実行してみましょう。
$ php pdo4.php
Count: 1実行結果から update 文による更新件数である 1 が出力されているのがわかります。
参考:実行結果の確認
データベースのレコードが更新されているかどうかを確認してみましょう。 SQLite 上で categories テーブルのレコードを検索します。
sqlite> select * from categories order by id;
id          title
----------  -----------
1           Programming
2           Design
3           Marketing
4           Cameraあるいは以前に作成したプログラム( pdo2.php )を実行しても良いでしょう。
$ php pdo2.php
1:Programming
2:Design
3:Marketing
4:Cameraまとめ
- PDOインスタンスの- execメソッドによって- update文を実行する
- execメソッドは戻り値に更新件数を返却する
- execメソッドの戻り値にテーブルのレコードは含まれない点に注意する