array ifx_getsqlca
(int result_id);result_id は、ifx_query または ifx_prepare から返される有効な結果IDです。
result_id に関連するクエリを実行した後の sqlca.sqlerrd[0] から sqlca.sqlerrd[5] に関する擬似レコード(連想配列)を 返します。
insert、update、delete の場合、クエリが実行された後、サーバーにより 設定される場合と同様にレコードの値が返されます。 これにより、作用を受けた行の下図および連番の挿入値にアクセスすることが 可能となります。 select の場合、命令を準備した段階で保存されます。 ifx ドライバにより適当な時に保存された値が取得されるため、 この関数を使用することにより、 "select dbinfo('sqlca.sqlerrdx')" クエリを実行するオーバーヘッドを 防止することができます。
例 1. Informix sqlca.sqlerrd[x] の値を取得する
/* 'sometable' の最初のカラムは連番であると仮定する */ $qid = ifx_query("insert into sometable values(0, '2nd column', 'another column' ", $connid); if (! $qid) { ... error ... } $sqlca = ifx_getsqlca ($qid); $serial_value = $sqlca["sqlerrd1"]; echo "挿入された行の続き番号は : " . "$serial_value<br>\n";