Re: affected_rows always > 0

From: Date: Wed, 18 Oct 2000 16:28:24 +0000
Subject: Re: affected_rows always > 0
Groups: php.db 
Request: Send a blank email to php-db+get-3740@lists.php.net to get a copy of this message
Salute ! The Manual say: ifx_num_rows ifx_num_rows -- Count the rows already fetched a query Description int ifx_num_rows(int result_id); Gives the number of rows fetched so far for a query with result_id after a ifx_query() or ifx_do() query. ^^^^^^^^^^^^^^^^^^^^^^^^ and: 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 Why not ifx_num_rows(int result_id) or without ifx_do($rs) ? Bye, Ingo. ------------------------ Re from: Ingo Klein; Bei der Kraehenhuette 37; 04279 Leipzig home: http://www.vdi-mitglieder.de/klein_ingo voc: 0341/338 4556; mailto:klein.ingo@vdi.de

« previous php.db (#3740) next »