oci_fetch_all
oci_fetch_assoc
OCI8 Funktionen
PHP Manual

# oci_fetch_array

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_array — Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array

### Beschreibung

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

Liefert ein Array, welches mit der nächsten Ergebniszeile übereinstimmt.

Für Details zur vom OCI8 Treiber durchgeführten Umsetzung von Datentypen siehe die vom Treiber unterstützen Datentypen.

Es sollte hier noch erwähnt sein, das oci_fetch_array() nur unwesentlich langsamer ist, als oci_fetch_row(), dafür aber viel handlicher ist.

### Parameter-Liste

`statement`

  Ein Zeiger auf eine gültige OCI-Anweisung.

`statement`

  Der optionale zweite Parameter kann eine beliebige Kombination aus dem folgenden Konstanten sein:

  - `OCI_BOTH` - liefert ein Array sowohl mit assoziativen als auch numerischem Index (gleichzusetzen mit `OCI_ASSOC` + `OCI_NUM`). Dieses ist das Standardverhalten.
  - `OCI_ASSOC` - liefert ein assiziatives Array (funktioniert wie oci_fetch_assoc()).
  - `OCI_NUM` - liefert ein indiziertes Array (funktioniert wie oci_fetch_row()).
  - `OCI_RETURN_NULLS` - erstellt leere Elemente für `NULL`-Felder.
  - `OCI_RETURN_LOBS` - liefert den Wert eines LOB-Deskriptors.
  Standard für `mode` ist `OCI_BOTH`.

### Rückgabewerte

Liefert ein Array sowohl mit assiziativem wie numerischem Index oder `FALSE`, wenn es keine weiteren Zeilen für das `statement` gibt.

> Hinweis: Diese Funktion setzt NULL Felder auf den PHP Wert `NULL`.

> Hinweis: Oracle liefert alle Feldnamen in Großschrift zurück und deswegen sind auch die assoziativen Indizes im Ergebnisarray in Großschrift.

### Beispiele

Beispiel #1 oci_fetch_array() mit `OCI_BOTH`-Beispiel

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

Beispiel #2 oci_fetch_array() mit `OCI_NUM`-Beispiel

`<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruechte";
$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>"; // dies gibt die ersten 100 Bytes des LOBs aus
}
?>`

Beispiel #3 oci_fetch_array() mit `OCI_ASSOC`-Beispiel

`<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruechte";
$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>"; // dies gibt "Object id #1" aus
}
?>`

Beispiel #4 oci_fetch_array() mit `OCI_RETURN_LOBS`-Beispiel

`<?php
$connection = oci_connect("user", "password");
$query = "SELECT id, name, lob_field FROM fruechte";
$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>"; // dies gibt den Inhalt des LOBs aus
}
?>`

### Siehe auch

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

oci_fetch_all
oci_fetch_assoc
OCI8 Funktionen
PHP Manual