ifx_affected_rows

ifx_affected_rows -- クエリーで作用された行の数を得る

説明

int ifx_affected_rows(int result_id);

result_id は、 ifx_query() または ifx_prepare() により返される有効な結果 ID です。

result_id に関連するクエリーにより作用された 行の数を返します。

insert, update ,delete の場合、その数は、実際に作用された行の数 (sqlerrd[2]) です。select の場合、これは推定値 (sqlerrd[0])です。 この値を信用してはいけません。 データベースサーバーは、SELECTにより実際に返される行の数を 返すことはありません。これは、この段階(オプティマイザがクエリー 手順を定義している場合には、"PREPARE"を行った直後)では、 行の取得を始めてさえもいないためです。

ifx_prepare() の実行後に クエリー結果を適当な量に制限するために使用すると便利です。

ifx_num_rows() も参照下さい。

例 1. Informix affected rows

  1 
  2 $rid = ifx_prepare ("select * from emp where name like " . $name, $connid);
  3 if (! $rid) {
  4     ... error ...
  5 }
  6 $rowcount = ifx_affected_rows ($rid);
  7 if ($rowcount > 1000) {
  8     printf ("Too many rows in result set (%d)\n<br>", $rowcount);
  9     die ("Please restrict your query<br>\n");
 10 }
 11