Re: affected_rows always > 0

From: Date: Wed, 18 Oct 2000 19:38:43 +0000
Subject: Re: affected_rows always > 0
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-3747@lists.php.net to get a copy of this message
----- Original 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) ? Maybe. I'll try it later. This piece of code do the job: $rs = ifx_prepare( $consulta, $connid); ifx_do($rs); if ( ! is_array($row)) { ---- error ---- } else { ---- Process rows ---- } Thank you very much.

« previous php.db (#3747) next »