oci_fetch_all

(PHP 5)

oci_fetch_all -- Fetches all rows of result data into an array

Description

int oci_fetch_all ( resource statement, array &output [, int skip [, int maxrows [, int flags]]] )

oci_fetch_all() fetches all the rows from a result into a user-defined array. oci_fetch_all() returns the number of rows fetched or FALSE in case of an error. skip is the number of initial rows to ignore when fetching the result (default value of 0, to start at the first line). maxrows is the number of rows to read, starting at the skipth row (default to -1, meaning all the rows).

Note: This function sets NULL fields to PHP NULL value.

Parameter flags can be any combination of the following:

OCI_FETCHSTATEMENT_BY_ROW
OCI_FETCHSTATEMENT_BY_COLUMN (default value)
OCI_NUM
OCI_ASSOC

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);
?>

For details on the data type mapping performed by the oci8 driver, see the datatypes supported by the driver

oci_fetch_all() returns FALSE in case of error.

Note: 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.