PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

oci_fetch_array> <oci_execute
Last updated: Fri, 04 Jul 2008

view this page in

oci_fetch_all

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_all — Holt alle Reihen der Ergebnisdaten in ein Array

Beschreibung

int oci_fetch_all ( resource $statement , array &$output [, int $skip [, int $maxrows [, int $flags ]]] )

Holt alle Reihen eines Ergebnisses in einem benutzerdefinierten Array.

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

Parameter-Liste

statement

Ein Zeiger auf eine gültige OCI-Anweisung.

output

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

skip

Die Anzahl der zu ignorierenden Anfangszeilen beim Holen des Ergebnisses (Standardwert ist 0, um mit der ersten Zeile zu beginnen).

maxrows

Anzahl der zu lesenden Zeilen ab der skip ten Zeile (Standard ist -1, um alle Zeilen zu holen).

flags

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

  • OCI_FETCHSTATEMENT_BY_ROW
  • OCI_FETCHSTATEMENT_BY_COLUMN (Standardwert)
  • OCI_NUM
  • OCI_ASSOC

Rückgabewerte

Liefert die Anzahl der abgerufenen Zeilen oder FALSE bei einem Fehler.

Beispiele

Beispiel #1 oci_fetch_all() Beispiel

<?php
/* oci_fetch_all example mbritton at verinet dot com (990624) */

$conn oci_connect("scott""tiger");

$stmt oci_parse($conn"select * from emp");

oci_execute($stmt);

$nrows oci_fetch_all($stmt$results);
if (
$nrows 0) {
   echo 
"<table border=\"1\">\n";
   echo 
"<tr>\n";
   foreach (
$results as $key => $val) {
      echo 
"<th>$key</th>\n";
   }
   echo 
"</tr>\n";

   for (
$i 0$i $nrows$i++) {
      echo 
"<tr>\n";
      foreach (
$results as $data) {
         echo 
"<td>$data[$i]</td>\n";
      }
      echo 
"</tr>\n";
   }
   echo 
"</table>\n";
} else {
   echo 
"Keine Daten gefunden<br />\n";
}
echo 
"$nrows Einträge selektiert<br />\n";

oci_free_statement($stmt);
oci_close($conn);
?>

Anmerkungen

Hinweis: In der PHP-Versionen vor 5.0.0 muss man ocifetchstatement() benutzen. Den Namen kann man immer noch nutzen. Er wurde als Alias für oci_fetch_all() für die Abwärtskompatibilität erhalten. Dieses ist allerdings veraltet und wird nicht empfohlen.



oci_fetch_array> <oci_execute
Last updated: Fri, 04 Jul 2008
 
add a note add a note User Contributed Notes
oci_fetch_all
dawid.krysiak.net.pl
11-Jul-2007 05:55
It looks like passing 0 (zero) as a $maxrows parameter is treated identically as -1 value - all the rows are returned.

OCIfetchstatement($stmt, $res, 1, 0, OCI_FETCHSTATEMENT_BY_ROW)

Tested under: PHP 4.4.3, WinXP pro
stry_cat at yahoo dot com
07-Feb-2007 07:43
If you want to use more than one flag, you need to use the + to connect them:
<?php
oci_fetch_all
($stmt, $row, "0", "-1", OCI_ASSOC+OCI_FETCHSTATEMENT_BY_ROW);

?>
jnavratil at houston dot rr dot com
12-Feb-2006 02:46
The number of rows returned is the number actually fetched, not the number potentially available.  If one limits the number of rows to fetch, the number of rows returned will be bound by that limit.  For example...

$nrows = oci_fetch_all($statement, $results, 0, 1);

would result in a returned value of '0' if there are no rows found for the statement, or '1' if any rows were found, regardless of the number actually present in the database.

oci_fetch_array> <oci_execute
Last updated: Fri, 04 Jul 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites