|
oci_fetch_array (PHP 5) 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 ($statement, OCI_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 ($statement, OCI_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 ($statement, OCI_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 ($statement, OCI_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().
| |