oci_fetch_array
(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)
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
] )
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 als
oci_fetch_row(), dafür aber viel handlicher ist.
Parameter-Liste
-
statement
-
Ein Zeiger auf eine gültige OCI-Anweisung.
-
mode
-
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 assoziativem 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, daher 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
}
?>