На странице произошла ошибка #S51. Свяжитесь с вебмастером. PHP 5.6 и PHP 7 на русском: Функции. oci_fetch_array() - Возвращает следующую строку из результата запроса в виде ассоциативного массива, числового массива или оба сразу

oci_fetch_array

(PHP 5, PECL oci8:1.1-1.2.4)

oci_fetch_array — Возвращает следующую строку из результата запроса в виде ассоциативного массива, числового массива или оба сразу

Описание

array oci_fetch_array ( resource $statement [, int $mode ] )

Возвращает массив, который соответствует строке из результата запроса или FALSE, если строк в результате больше не осталось.

По умолчанию, oci_fetch_array() возвращает массив с ассоциативными и числовыми индексами.

Необязательный второй параметр может принимать значение одной или суммы из нескольких констант. Вы можете использовать следующие константы:

  • OCI_BOTH - возвращать массив с ассоциативными и числовыми индексами (то же, что и OCI_ASSOC + OCI_NUM), это значение используется по умолчанию.
  • OCI_ASSOC - возвращать массив с ассоциативными индексами (именно так работает oci_fetch_assoc()).
  • OCI_NUM - возвращать массив с числовыми индексами, начинающимися с нуля (именно так работает oci_fetch_row()).
  • OCI_RETURN_NULLS - создавать пустые элементы для полей со значением NULL.
  • OCI_RETURN_LOBS - возвращать значение поля LOB вместо дескриптора.
Значение по умолчанию для mode равно OCI_BOTH + OCI_RETURN_NULLS.

Нужно также упомянуть тот факт, что oci_fetch_array() незначительно медленней, чем oci_fetch_row(), но предоставляет более гибкий интерфейс.

Замечание: Вам не следует забывать о том, что Oracle возвращает имена полей в ВЕРХНЕМ регистре, поэтому индексы ассоциативного массива будут также в ВЕРХНЕМ регистре.

Пример #1 Пример использования oci_fetch_array() с флагом OCI_BOTH

<?php
$connection 
oci_connect("apelsin""kanistra");

$query "SELECT id, name FROM fruits";

$statement oci_parse ($connection$query);
oci_execute ($statement);

while (
$row oci_fetch_array ($statementOCI_BOTH)) {
    echo 
$row[0]." and ".$row['ID']." is the same<br>";
    echo 
$row[1]." and ".$row['NAME']." is the same<br>";
}
?>

Пример #2 Пример использования oci_fetch_array() с флагом OCI_NUM

<?php
$connection 
oci_connect("user""password");

$query "SELECT id, name, lob_field FROM fruits";

$statement oci_parse ($connection$query);
oci_execute ($statement);

while (
$row oci_fetch_array ($statementOCI_NUM)) {
    echo 
$row[0]."<br>";
    echo 
$row[1]."<br>";
    echo 
$row[2]->read(100)."<br>";  //this will output first 100 bytes from LOB
}
?>

Пример #3 Пример использования oci_fetch_array() с флагом OCI_ASSOC

<?php
$connection 
oci_connect("user""password");

$query "SELECT id, name, lob_field FROM fruits";

$statement oci_parse ($connection$query);
oci_execute ($statement);

while (
$row oci_fetch_array ($statementOCI_NUM)) {
    echo 
$row['ID']."<br>";
    echo 
$row['NAME']."<br>";
    echo 
$row['LOB_FIELD']."<br>";  //this will output "Object id #1"
}
?>

Пример #4 Пример использования oci_fetch_array() с флагом OCI_RETURN_LOBS

<?php
$connection 
oci_connect("user""password");

$query "SELECT id, name, lob_field FROM fruits";

$statement oci_parse ($connection$query);
oci_execute ($statement);

while (
$row oci_fetch_array ($statementOCI_NUM)) {
    echo 
$row[0]."<br>";
    echo 
$row[1]."<br>";
    echo 
$row['LOB_FIELD']."<br>";  //this will output LOB's content
}
?>

См. также oci_fetch_assoc(), oci_fetch_object(), oci_fetch_row() и oci_fetch_all().

Коментарии

Here's a clue about rowid.

Don't forget about the oracle functions:

"rowidtochar" and "chartorowid"

"select rowidtochar(rowid) as FOO from table ...." 

When you want to pass the rowid in a form or link, that's 
the only way to go.
2000-10-19 05:39:26
http://php5.kiev.ua/manual/ru/function.oci-fetch-array.html
When using OCI_RETURN_LOBS to get a BFILE (stored with a DIRECTORY) the user needs READ on the DIRECTORY.  (GRANT READ on DIRECTORY <directory name> TO <user>;) Otherwise, you'll get a cryptic error. Warning: OCILobFileOpen: ORA-22285: non-existent directory or file for FILEOPEN operation in ... on line ...
<BR>
The user that CREATEs the DIRECTORY is automatically GRANTed READ WITH THE GRANT OPTION.
2002-08-09 15:29:55
http://php5.kiev.ua/manual/ru/function.oci-fetch-array.html

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