PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

oci_fetch_array> <oci_execute
Last updated: Fri, 10 Jul 2009

view this page in

oci_fetch_all

(PHP 5, PECL oci8 >= 1.1.0)

oci_fetch_allFetches all rows of result data into an array

Descrierea

int oci_fetch_all ( resource $statement , array &$output [, int $skip= 0 [, int $maxrows= -1 [, int $flags= 0 ]]] )

Fetches all the rows from a result into a user-defined array.

Pentru detalii despre corespondenţele transformărilor tipurilor de date efectuate de driver-ul oci8, accesaţi tipurile de date susţinute de driver

Parametri

statement

A valid OCI statement identifier.

output

Notă: Această funcţie stabileşte câmpurile NULL la valoarea PHP NULL.

skip

The number of initial rows to ignore when fetching the result (default value of 0, to start at the first line).

maxrows

The number of rows to read, starting at the skip th row (default to -1, meaning all the rows).

flags

Parameter flags can be any combination of the following:

  • OCI_FETCHSTATEMENT_BY_ROW
  • OCI_FETCHSTATEMENT_BY_COLUMN (default value)
  • OCI_NUM
  • OCI_ASSOC

Valorile întroarse

Returns the number of rows fetched or FALSE in case of an error.

Exemple

Example #1 oci_fetch_all() example

<?php
/* oci_fetch_all example mbritton at verinet dot com (990624) */

$conn oci_connect("scott""tiger");

$stmt oci_parse($conn"select * from emp");

oci_execute($stmt);

$nrows oci_fetch_all($stmt$results);
if (
$nrows 0) {
   echo 
"<table border=\"1\">\n";
   echo 
"<tr>\n";
   foreach (
$results as $key => $val) {
      echo 
"<th>$key</th>\n";
   }
   echo 
"</tr>\n";

   for (
$i 0$i $nrows$i++) {
      echo 
"<tr>\n";
      foreach (
$results as $data) {
         echo 
"<td>$data[$i]</td>\n";
      }
      echo 
"</tr>\n";
   }
   echo 
"</table>\n";
} else {
   echo 
"No data found<br />\n";
}
echo 
"$nrows Records Selected<br />\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Note

Notă: In PHP versions before 5.0.0 you must use ocifetchstatement() instead. This name still can be used, it was left as alias of oci_fetch_all() for downwards compatability. This, however, is deprecated and not recommended.



oci_fetch_array> <oci_execute
Last updated: Fri, 10 Jul 2009
 
add a note add a note User Contributed Notes
oci_fetch_all
sixd at php dot net
23-Jan-2009 12:45
Oci_fetch_all() will return data only the first time it is called after an oci_execute(). It cannot be used to "page" data.
sixd at php dot net
20-Nov-2008 02:24
Avoid using the "skip" and "maxrows" parameters. The function works by fetching and discarding all rows up to the "skip'th" row.  This wastes network and CPU.  It is better to rewrite the query and use ROWNUM (or similar) to limit the rows the DB returns.
dawid.krysiak.net.pl
11-Jul-2007 12:55
It looks like passing 0 (zero) as a $maxrows parameter is treated identically as -1 value - all the rows are returned.

OCIfetchstatement($stmt, $res, 1, 0, OCI_FETCHSTATEMENT_BY_ROW)

Tested under: PHP 4.4.3, WinXP pro
stry_cat at yahoo dot com
07-Feb-2007 03:43
If you want to use more than one flag, you need to use the + to connect them:
<?php
oci_fetch_all
($stmt, $row, "0", "-1", OCI_ASSOC+OCI_FETCHSTATEMENT_BY_ROW);

?>
jnavratil at houston dot rr dot com
12-Feb-2006 10:46
The number of rows returned is the number actually fetched, not the number potentially available.  If one limits the number of rows to fetch, the number of rows returned will be bound by that limit.  For example...

$nrows = oci_fetch_all($statement, $results, 0, 1);

would result in a returned value of '0' if there are no rows found for the statement, or '1' if any rows were found, regardless of the number actually present in the database.

oci_fetch_array> <oci_execute
Last updated: Fri, 10 Jul 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites