引用元
http://koano.jp/b/pgsql/php/update.html
さて、レコードの更新も pg_exec() を使います。ま、クエリを発行するということでは同じことですので。
構文はすでに説明しているので、サンプルを。
--------------------------------------------------------------------
$con = pg_connect("dbname=TEST"); // データベースに接続
$SQL = "UPDATE zaiko SET zaiko = 120 WHERE hinmei = 'red' ;" ;
pg_exec($con, $SQL); // クエリを発行
--------------------------------------------------------------------
これで、hinme が red のデータの zaiko が 120 になるはずです。
ただ、この例だとエラーになった場合はともかく、 本当に更新が行われたかどうかはわからない ( WHERE条件式に一つもマッチしない場合もある ) ので、 実行結果の確認のために、 pg_cmdtuples() を使います。
構文: 影響のあったレコード数 = pg_cmdtuples ( 結果セット );
これにより、更新処理が行われたレコード数がわかるので、 たとえば先ほどの hinmei = ‘red’ というデータが1つしかないとすれば、この値には 1 が返ることになり、 これを踏まえたサンプルはこのようになります。
-------------------------------------------------------------------- $con = pg_connect( "dbname=TEST" ); // データベースに接続 $SQL = "UPDATE zaiko SET zaiko = 120 WHERE hinmei = 'red' ;" ; $result = pg_exec( $con, $SQL ); // クエリを発行 $row = pg_cmdtuples( $result ); echo "$row 件のレコードが更新されました。"; --------------------------------------------------------------------
レコードの更新については、ちょっと手抜きな感じですが、INSERT や DELETE に関しても同じ手順で行えますので、 心配はないと思います。結局はSQL文を pg_exec() で発行するだけですので(^^;;;