データの削除(DELETE)

広告

データの削除を試してみます。DELETEを使います。DELETEの場合は、mysql_query関数の結果として成功した場合に TRUE 、エラー時に FALSE を返します。

実際に試してみます。データベース名「uriage」に含まれる「shouhin」テーブルのデータを削除してみます。

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

<body>

<?php

function quote_smart($value)
{
    // 数値以外をクオートする
    if (!is_numeric($value)) {
        $value = "'" . mysql_real_escape_string($value) . "'";
    }
    return $value;
}

$link = mysql_connect('localhost', 'testuser', 'testuser');
if (!$link) {
    die('接続失敗です。'.mysql_error());
}

print('<p>接続に成功しました。</p>');

$db_selected = mysql_select_db('uriage', $link);
if (!$db_selected){
    die('データベース選択失敗です。'.mysql_error());
}

print('<p>uriageデータベースを選択しました。</p>');

mysql_set_charset('utf8');

print('<p>データを削除します。</p>');

$id = 4;

$sql = sprintf("DELETE FROM shouhin WHERE id = %s"
         , quote_smart($id));

$result_flag = mysql_query($sql);

if (!$result_flag) {
    die('DELETEクエリーが失敗しました。'.mysql_error());
}

print('<p>削除後のデータを取得します。</p>');

$result = mysql_query('SELECT id,name FROM shouhin');
if (!$result) {
    die('SELECTクエリーが失敗しました。'.mysql_error());
}

while ($row = mysql_fetch_assoc($result)) {
    print('<p>');
    print('id='.$row['id']);
    print(',name='.$row['name']);
    print('</p>');
}

$close_flag = mysql_close($link);

if ($close_flag){
    print('<p>切断に成功しました。</p>');
}

?>
</body>
</html>

上記を「test1.php」としてローカル環境で稼動しているApacheのドキュメントルート以下に設置し、ブラウザでアクセスします。

p10-1

テーブルに含まれるデータを削除することができました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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