データの削除(DELETE)

広告

ここではデータの削除を試してみます。SQL文でDELETEを使います。

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

サンプルコード

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

<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 = 'delete from shouhin where id = :delete_id';
    $stmt = $dbh->prepare($sql);
    $flag = $stmt->execute(array(':delete_id' => 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サーバに設置しブラウザ経由で見ると下記のように表示されます。

データの削除(DELETE)

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。