PHP Doku:: Liefert die nächste Zeile der Ergebnisdaten als assoziatives und/oder numerisches Array - function.oci-fetch-array.html

Verlauf / Chronik / History: (50) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenOracle OCI8OCI8 Funktionenoci_fetch_array

Ein Service von Reinhard Neidl - Webprogrammierung.

OCI8 Funktionen

<<oci_fetch_all

oci_fetch_assoc>>

oci_fetch_array

(PHP 5, PECL OCI8 >= 1.1.0)

oci_fetch_arrayLiefert 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 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 ($statementOCI_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 ($statementOCI_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 ($statementOCI_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


2 BenutzerBeiträge:
- Beiträge aktualisieren...
Maxwell_Smart at ThePentagon dot com
9.08.2002 21:29
When using OCI_RETURN_LOBS to get a BFILE (stored with a DIRECTORY) the user needs READ on the DIRECTORY.  (GRANT READ on DIRECTORY <directory name> TO <user>;) Otherwise, you'll get a cryptic error. Warning: OCILobFileOpen: ORA-22285: non-existent directory or file for FILEOPEN operation in ... on line ...
<BR>
The user that CREATEs the DIRECTORY is automatically GRANTed READ WITH THE GRANT OPTION.
junk at netburp dot com
19.10.2000 11:39
Here's a clue about rowid.

Don't forget about the oracle functions:

"rowidtochar" and "chartorowid"

"select rowidtochar(rowid) as FOO from table ...."

When you want to pass the rowid in a form or link, that's
the only way to go.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)