ifx_affected_rows

ifx_affected_rows -- Get number of rows affected by a query

Description

int ifx_affected_rows(int result_id);

result_id is a valid result id returned by ifx_query() or ifx_prepare().

Returns the number of rows affected by a query associated with result_id.

For inserts, updates and deletes the number is the real number (sqlerrd[2]) of affected rows. For selects it is an estimate (sqlerrd[0]). Don't rely on it. The database server can never return the actual number of rows that will be returned by a SELECT because it has not even begun fetching them at this stage (just after the "PREPARE" when the optimizer has determined the query plan).

Useful after ifx_prepare() to limit queries to reasonable result sets.

See also: ifx_num_rows()

Example 1. Informix affected rows

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