oci_fetch_all
oci_fetch_assoc
Funções para OCI8
PHP Manual

# oci_fetch_array

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_array — Returns the next row from the result data as an associative or numeric array, or both

### Descrição

array oci_fetch_array ( resource `$statement` [, int `$mode` ] )

Returns an array, which corresponds to the next result row.

Para detalhes sobre o mapeamento dos tipos de dados realizado pelo driver oci8, veja tipos de dados suportados pelo driver

It should be mentioned here, that oci_fetch_array() is insignificantly slower, than oci_fetch_row(), but much more handy.

### Parâmetros

`statement`

  A valid OCI statement identifier.

`statement`

  An optional second parameter can be any combination of the following constants:

  - `OCI_BOTH` - return an array with both associative and numeric indices (the same as `OCI_ASSOC` + `OCI_NUM`). This is the default behavior.
  - `OCI_ASSOC` - return an associative array (as oci_fetch_assoc() works).
  - `OCI_NUM` - return a numeric array, (as oci_fetch_row() works).
  - `OCI_RETURN_NULLS` - create empty elements for the `NULL` fields.
  - `OCI_RETURN_LOBS` - return the value of a LOB of the descriptor.
  Default `mode` is `OCI_BOTH`.

### Valor Retornado

Returns an array with both associative and numeric indices, or `FALSE` if there are no more rows in the `statement` .

> Nota: Esta função assimila campos NULL para o o `NULL` do PHP.

> Nota: Oracle returns all field names in uppercase and associative indices in the result array will be uppercased too.

### Exemplos

Exemplo #1 oci_fetch_array() with `OCI_BOTH` example

`<?php
$connection = oci_connect("apelsin", "kanistra");
$query = "SELECT id, name FROM fruits";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
echo $row[0]." and ".$row['ID']." is the same<br>";
echo $row[1]." and ".$row['NAME']." is the same<br>";
}
?>`

Exemplo #2 oci_fetch_array() with `OCI_NUM` example

`<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruits";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_NUM)) {
echo $row[0]."<br>";
echo $row[1]."<br>";
echo $row[2]->read(100)."<br>"; //this will output first 100 bytes from LOB
}
?>`

Exemplo #3 oci_fetch_array() with `OCI_ASSOC` example

`<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruits";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_ASSOC)) {
echo $row['ID']."<br>";
echo $row['NAME']."<br>";
echo $row['LOB_FIELD']."<br>"; //this will output "Object id #1"
}
?>`

Exemplo #4 oci_fetch_array() with `OCI_RETURN_LOBS` example

`<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruits";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, (OCI_NUM+OCI_RETURN_LOBS))) {
echo $row[0]."<br>";
echo $row[1]."<br>";
echo $row['LOB_FIELD']."<br>"; //this will output LOB's content
}
?>`

### Veja Também

- oci_fetch_assoc()
- oci_fetch_object()
- oci_fetch_row()
- oci_fetch_all()

oci_fetch_all
oci_fetch_assoc
Funções para OCI8
PHP Manual