PHPからMySQLにPDOを使って、DBのデータを更新(UPDATE)する方法を自分メモとして残します。
PDOの使い方について詳しく知りたい方は次の記事をご覧ください。
UPDATE文の書き方
データを更新するには「UPDATE文」を使用します。
UPDATE テーブル名 SET カラム名 = 値 WHERE 条件;
今回は次のUPDATE文をPHPで実行していきます。
UPDATE users SET address = '東京都' WHERE id = 3;
PHPでデータ更新する書き方
MySQLのtestdbデータベースに対して、先ほどのUPDATE文を実行していきます。
SQLインジェクション対策として、値セットは「$stmt->bindValue」を使用しています。
<?php try { // DB接続 $pdo = new PDO( // ホスト名、データベース名 'mysql:host=localhost;dbname=testdb;', // ユーザー名 'root', // パスワード '', // レコード列名をキーとして取得させる [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC] ); // SQL文をセット $stmt = $pdo->prepare('UPDATE users SET address = :address WHERE id = :id'); // 値をセット $stmt->bindValue(':address', '東京都'); $stmt->bindValue(':id', 3); // SQL実行 $stmt->execute(); } catch (PDOException $e) { // エラー発生 echo $e->getMessage(); } finally { // DB接続を閉じる $pdo = null; } ?>
以上です。