PHP Doku:: Fetcht die nächste Zeile des Ergebnisses in ein Array (deprecated!) - function.ocifetchinto.html

Verlauf / Chronik / History: (2) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenOracle OCI8OCI8 - Veraltete Aliase und Funktionenocifetchinto

Ein Service von Reinhard Neidl - Webprogrammierung.

OCI8 - Veraltete Aliase und Funktionen

<<ocifetch

ocifetchstatement>>

ocifetchinto

(PHP 4, PHP 5, PECL OCI8 >= 1.0.0)

ocifetchintoFetcht die nächste Zeile des Ergebnisses in ein Array (deprecated!)

Beschreibung

int ocifetchinto ( resource $statement , array &$result [, int $mode ] )

Diese Funktion ist deprecated. Empfohlene Alternativen: oci_fetch_array(), oci_fetch_object(), oci_fetch_assoc() und oci_fetch_row().


3 BenutzerBeiträge:
- Beiträge aktualisieren...
php at natalian dot org
25.10.2005 1:45
There might be a better way.

<?php

 $conn
= OCILogon('user', 'secret', 'DB');

 
$th = 0; // Table Header

      
$query = 'select * from PAYMENT';

      
$stid = OCIParse($conn, $query);
      
OCIExecute($stid);

        echo
"<table>\n\n";
        while (
OCIFetchInto($stid, $row, OCI_ASSOC)) {
          if (!
$th) {

           
$keys = (array_keys($row));

            echo
"\n<tr>\n";
            foreach (
$keys as $k) {echo "<th>" . $k . "</th>\n";}
            echo
"</tr>\n";

           
$th = 1; // Table header done !
                   
}

          echo
"\n<tr>\n";
          foreach (
$keys as $k) {echo "<td>" . $row[$k] . "</td>\n";}
          echo
"</tr>\n";
         
$count = $count + 1;
        }

        echo
"</table>\n\n";

echo
"<h3>" . $count . " records</h3>";

OCILogoff($conn);
?>
xerxes at dataforce dot com dot au
4.10.2002 6:37
Hi all....

Following an eariler message about having similar functionality to "mysql_fetch_object", here is a snip of code i frequently use to return an array of all rows from a query....each element of the array is an object, where the properties for the object are the columns selected from the query.

Note that this function reqs that you pass in a connection handler....

It can be modified to return just a single row, quite easily.

    function executeSQL($SQL, $oConn) {
        $cur = OCIParse($oConn, $SQL);
       
        if (OCIExecute($cur, OCI_DEFAULT)) {
            $iCounter = 0;
            $aGeneric = Array();
            $TempClass = new stdClass ();
            while(OCIFetchInto($cur, $res, OCI_RETURN_NULLS + OCI_ASSOC)) {
                foreach ($res as $sKey => $sVal) {
                    $TempClass->{$sKey} = $sVal;
                }
                $aGeneric[$iCounter] = $TempClass;
               
                $iCounter++;
            }
        }
        else {
            return (false);
        }
        return ($aGeneric);
    }

hth!

-Xerxes
kboyer at matchlogic dot com
14.07.2000 22:26
When using ocifetchinto, be careful with the resulting array.  If the array variable is previously populated before calling ocifetchinto, and the the ocifetchinto command returns no (0) rows, the array is not overwritten.  This can make you think that you actually got rows returned when you actually didn't.



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",...)