PHPでデータベースのデータを更新(UPDATE)する方法

投稿日: 作成:   更新:

PHPからMySQLにPDOを使って、DBのデータを更新(UPDATE)する方法を自分メモとして残します。

PDOの使い方について詳しく知りたい方は次の記事をご覧ください。

PHPからMySQLに接続する方法

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;
}

?>

以上です。