データの更新(UPDATE)

広告

ここではデータの更新を試してみます。SQL文でUPDATEを使います。

「prepare」メソッドでSQL文を作成し「execute」メソッドでSQL文をデータベースへ発行します。

では実際に試してみます。

pdotest8.php

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

$dsn = 'mysql:dbname=uriage;host=localhost';
$user = 'testuser';
$password = 'testuser';

try{
    $dbh = new PDO($dsn, $user, $password);

    print('<br>');

    if ($dbh == null){
        print('接続に失敗しました。<br>');
    }else{
        print('接続に成功しました。<br>');
    }

    $dbh->query('SET NAMES sjis');

    print('更新前のデータ一覧:<br>');

    $sql = 'select id, name from shouhin';
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
        print($result['id']);
        print($result['name'].'<br>');
    }

    $sql = 'update shouhin set name = ? where id = ?';
    $stmt = $dbh->prepare($sql);
    $flag = $stmt->execute(array('クーラー', 6));

    if ($flag){
        print('データの更新に成功しました<br>');
    }else{
        print('データの更新に失敗しました<br>');
    }

    print('更新後のデータ一覧:<br>');

    $sql = 'select id, name from shouhin';
    $stmt = $dbh->prepare($sql);
    $stmt->execute();

    while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
        print($result['id']);
        print($result['name'].'<br>');
    }
}catch (PDOException $e){
    print('Error:'.$e->getMessage());
    die();
}

$dbh = null;

?>

</body>
</html>

上記ファイルをWWWサーバに設置しブラウザ経由で見ると下記のように表示されます。

データの更新(UPDATE)

PHP入門の他の記事を見てみる

( Written by Tatsuo Ikura )