データの追加(INSERT)

広告

ここではINSERTの発行を試してみます。INSERTの場合は、queryメソッドの結果として成功した場合に DB_OK 、エラー時に DB_Error を返します。

では実際に試してみます。データベース名「uriage」に含まれる「shouhin」テーブルにデータを挿入してみます。

sample9-1.php

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

<?php

require_once 'DB.php';

$dsn = 'mysqli://testuser:testuser@localhost/uriage';

$db = DB::connect($dsn);
if (PEAR::isError($db)) {
    die($db->getMessage());
}

print('接続に成功しました<br>');

$db->query('SET NAMES sjis');
if (PEAR::isError($db)) {
    die($db->getMessage());
}

$sql = 'select * from shouhin';
$res =& $db->query($sql);
if (PEAR::isError($res)) {
    die($res->getMessage());
}

while ($row =& $res->fetchRow(DB_FETCHMODE_OBJECT)){
    print($row->id);
    print($row->name.'<br>');
}

print('<br>データを追加します。<br><br>');

$sql = "insert into shouhin (id, name) VALUES (6, 'エアコン')";
$res =& $db->query($sql);
if (PEAR::isError($res)) {
    die($res->getMessage());
}

print('<br>追加後のデータを取得します。<br><br>');

$sql = 'select * from shouhin';
$res =& $db->query($sql);
if (PEAR::isError($res)) {
    die($res->getMessage());
}

while ($row =& $res->fetchRow(DB_FETCHMODE_OBJECT)){
    print($row->id);
    print($row->name.'<br>');
}

$db->disconnect();

?>

</body>
</html>

上記をWWWサーバに設置しブラウザで見てみると下記のようなりました。

PEAR::DBでINSERT

( Written by Tatsuo Ikura )