# oci_fetch_all

(PHP 5, PECL oci8:1.1-1.2.4)

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` ]]] )

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

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

### Parameters

`statement`

  A valid OCI statement identifier.

`output`

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

`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`

### Return Values

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

### Examples

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

### Notes

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