データの追加(INSERT)

広告

ここではINSERTの発行を試してみます。INSERTの場合は、pg_query関数の結果として成功した場合に TRUE 、エラー時に FALSE を返します。

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

pgtest3.php

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

<?php

$conn = "host=localhost dbname=uriage user=pguser password=pguser";
$link = pg_connect($conn);
if (!$link) {
    die('接続失敗です。'.pg_last_error());
}

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

pg_set_client_encoding("sjis");

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

for ($i = 0 ; $i < pg_num_rows($result) ; $i++){
    $rows = pg_fetch_array($result, NULL, PGSQL_ASSOC);
    print('id='.$rows['id']);
    print(',name='.$rows['name'].'<br>');
}

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

$sql = "INSERT INTO shouhin (id, name) VALUES (5, 'プリンター')";
$result_flag = pg_query($sql);

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

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

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

for ($i = 0 ; $i < pg_num_rows($result) ; $i++){
    $rows = pg_fetch_array($result, NULL, PGSQL_ASSOC);
    print('id='.$rows['id']);
    print(',name='.$rows['name'].'<br>');
}

$close_flag = pg_close($link);

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

?>
</body>
</html>

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

INSERT文の発行

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

( Written by Tatsuo Ikura )