PHPでデータベースへデータ登録(INSERT)する方法

投稿日: 作成:   更新:

PHPからMySQLにPDOを使って、DBへデータ登録(INSERT)する方法です。

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

PHPからMySQLに接続する方法

INSERT文の書き方

データを登録するには「INSERT文」を使用します。

INSERT INTO テーブル名 (カラム名1, カラム名2, ・・・) VALUES (値1, 値2, ・・・);

今回は次のINSERT文をPHPで実行していきます。

INSERT INTO users (id, name, address, tel) VALUES(3, '山田次郎', '神奈川県', '045-000-0000');

PHPでデータ登録する書き方

MySQLのtestdbデータベースに対して、先ほどのINSERT文を実行していきます。

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('INSERT INTO users (id, name, address, tel) VALUES(:id, :name, :address, :tel)');

    // 値をセット
    $stmt->bindValue(':id', 3);
    $stmt->bindValue(':name', '山田次郎');
    $stmt->bindValue(':address', '神奈川県');
    $stmt->bindValue(':tel', '045-000-0000');

    // SQL実行
    $stmt->execute();

} catch (PDOException $e) {
    // エラー発生
    echo $e->getMessage();

} finally {
    // DB接続を閉じる
    $pdo = null;
}

?>

以上です。