ocifetchinto

(PHP 4, PHP 5, PECL oci8:1.0-1.2.4)

ocifetchinto — Выбирает следующую строку из результата запроса в массив

Описание

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

Замечание: Эта функция устарела и не рекомендуется к использованию. Вместо неё вы можете использовать функции oci_fetch_array(), oci_fetch_object(), oci_fetch_assoc(), oci_fetch_row().

ocifetchinto() выбирает следующую строку из результат запроса в массив result . ocifetchinto() перезапишет сверху содержимое переменной result . По умолчанию result будет содержать массив с числовыми индексами и значениями полей, которые не равны NULL.

Параметр mode позволяет менять поведение по умолчанию. Вы можете указывать несколько флагов одновременно, просто суммируя их (например, OCI_ASSOC+OCI_RETURN_NULLS). Возможные флаги:

  • OCI_ASSOC - возврашать ассоциативный массив.
  • OCI_NUM - возвращать массив с числовыми индексами (поведение по умолчанию).
  • OCI_RETURN_NULLS - возвращать поля, которые равны NULL.
  • OCI_RETURN_LOBS - возвращать значение LOB вместо дескриптора.

Пример #1 Пример использования ocifetchinto()

<?php
$conn 
ocilogon("username""password");

$query "SELECT apples FROM oranges";

$statement OCIParse ($conn$query);
OCIExecute ($statement);

while (
OCIFetchInto ($statement$rowOCI_ASSOC)) {
    echo 
$row['apples'];
}
?>

См. также oci_fetch_array(), oci_fetch_object(), oci_fetch_assoc(), oci_fetch_row(), oci_fetch() и oci_execute().

Коментарии

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.
2000-07-14 16:26:43
http://php5.kiev.ua/manual/ru/function.ocifetchinto.html
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
2002-10-04 00:37:15
http://php5.kiev.ua/manual/ru/function.ocifetchinto.html
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$rowOCI_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);
?>
2005-10-24 19:45:06
http://php5.kiev.ua/manual/ru/function.ocifetchinto.html

    Поддержать сайт на родительском проекте КГБ