oci_fetch

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)

oci_fetchHolt die nächste Zeile einer Abfrage in interne Puffer

Beschreibung

oci_fetch ( resource $statement ) : bool

Holt die nächste Zeile einer Abfrage in interne Puffer, auf die entweder mit oci_result(), oder unter Verwendung zuvor mit oci_define_by_name() definierter Variablen, zugegriffen werden kann.

Allgemeine Information zum Holen von Daten sind der Dokumentation von oci_fetch_array() zu entnehmen.

Parameter-Liste

statement

Der Identifizierer eines gültigen OCI8-Ausdrucks, der von oci_parse() erzeugt und von oci_execute() oder einem REF CURSOR-Ausdruck verwendet wird.

Rückgabewerte

Gibt im Erfolgsfall TRUE zurück, FALSE wird zurückgegeben, wenn keine weiteren Zeilen mehr in statement vorhanden sind.

Beispiele

Beispiel #1 oci_fetch() with defined variables

<?php

$conn 
oci_connect('hr''welcome''localhost/XE');
if (!
$conn) {
    
$e oci_error();
    
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid oci_parse($conn$sql);

// The defines MUST be done before executing
oci_define_by_name($stid'LOCATION_ID'$locid);
oci_define_by_name($stid'CITY'$city);

oci_execute($stid);

// Each fetch populates the previously defined variables with the next row's data
while (oci_fetch($stid)) {
    echo 
"Location id $locid is $city<br>\n";
}

// Displays:
//   Location id 1000 is Roma
//   Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Beispiel #2 oci_fetch() mit oci_result()

<?php

$conn 
oci_connect('hr''welcome''localhost/XE');
if (!
$conn) {
    
$e oci_error();
    
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid oci_parse($conn$sql);
oci_execute($stid);

while (
oci_fetch($stid)) {
    echo 
oci_result($stid'LOCATION_ID') . " ist ";
    echo 
oci_result($stid'CITY') . "<br>\n";
}

// Displays:
//   1000 ist Rom
//   1100 ist Venedig

oci_free_statement($stid);
oci_close($conn);

?>

Anmerkungen

Hinweis:

Diese Funktion liefert keine Zeilen von "Impliziten Ergebnismengen" der Oracle Database 12c. Statt dessen ist oci_fetch_array() zu verwenden.

Siehe auch