Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7">

ifx_getsqlca

(PHP 3>= 3.0.8, PHP 4 )

ifx_getsqlca -- クエリ実行後、sqlca.sqlerrd[0..5] の値を得る

説明

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 の場合、この値はPREPARE 文の後で保存された値となります。 この値から作用を受けた行の数の"推測"値が分かります。 ifx ドライバにより適当な時に保存された値が取得されるため、 この関数を使用することにより、 "select dbinfo('sqlca.sqlerrdx')" クエリを実行するオーバーヘッドを 防止することができます。

例 1Informix 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";