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

search for in the

ocifetchstatement> <ocifetch
[edit] Last updated: Fri, 26 Apr 2013

view this page in

ocifetchinto

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

ocifetchintoFetches the next row into an array (deprecated)

Description

int ocifetchinto ( resource $statement , array &$result [, int $mode = OCI_ASSOC + OCI_NUM ] )

This function is deprecated. Recommended alternatives: oci_fetch_array(), oci_fetch_object(), oci_fetch_assoc() and oci_fetch_row().

Warning

This function has been DEPRECATED as of PHP 5.4.0. Relying on this function is highly discouraged.



ocifetchstatement> <ocifetch
[edit] Last updated: Fri, 26 Apr 2013
 
add a note add a note User Contributed Notes ocifetchinto - [3 notes]
up
0
php at natalian dot org
7 years ago
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);
?>
up
0
xerxes at dataforce dot com dot au
10 years ago
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
up
0
kboyer at matchlogic dot com
12 years ago
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.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites