[PHP-users 17201]pg_closeについて

キャスター マイルド caster_mild_49401219 @ hotmail.com
2003年 8月 7日 (木) 16:11:19 JST


こんにちは、キャスターマイルドです。

pg_close();について質問ですが、
一つのスクリプト内で何度も使えないのですか?

例えば、
$conn = pg_connect("","","testdb") or die("データベース接続エラー");
$sql = "SELECT * FROM testtb WHERE id = '1';";
$res = pg_exec($conn, $sql) or die("データ抽出エラー");
 for ($i = 0; $i < pg_numrows($res); $i++) {
 $row = pg_fetch_array($res, $i, PGSQL_ASSOC);
 $data = $row["data"];
 }
pg_close($conn);

$sql = "INSERT INTO ".$data.") VALUES('".$data."');";
pg_exec($conn, $sql) or die("データ追加エラー");
pg_close($conn);
}

と言った具合です。
これを実行すると、
Warning: 1 is not a valid PostgreSQL link resource in /home/www/test.php on
line 11
データ追加エラー
と言われます。

一回目の接続のpg_closeを消すとうまくいきます。

うまくいくので、それでいい気もするのですが、
これを変えて、
一回目のテーブルに該当データがあったら、別のテーブルにデータを入れる。
と言った場合など、pg_closeをifなどわけて、条件別に書く必要が出てきますよね?

何か、おかしいと思うのですが・・・
ご存じの方、ご教授願います。


PHP-users メーリングリストの案内