(PHP 4, PHP <=5.2.0)
ifx_affected_rows — クエリで変更された行の数を得る
result_id に関連するクエリにより変更された 行の数を返します。
insert, update ,delete の場合、その数は、実際に作用された行の数 (sqlerrd[2]) です。select の場合、これは推定値 (sqlerrd[0]) です。 この値を信用してはいけません。データベースサーバは、SELECT により 実際に返される行の数を返すことはありません。これは、この段階 (オプティマイザがクエリ手順を定義している場合には、"PREPARE" を 行った直後) では、行の取得を始めてさえもいないためです。
ifx_prepare() の実行後に、クエリ結果を適当な量に 制限するために使用すると便利です。
行の数を整数値で返します。
例1 Informix で変更された行
<?php
$rid = ifx_prepare("select * from emp
where name like " . $name, $connid);
if (! $rid) {
/* ... error ... */
}
$rowcount = ifx_affected_rows($rid);
if ($rowcount > 1000) {
printf ("Too many rows in result set (%d)\n<br />", $rowcount);
die ("Please restrict your query<br />\n");
}
?>