PHP.mk документација

oci_fetch_all

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.oci-fetch-all.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.oci-fetch-all.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
oci_fetch_all

Референца за `function.oci-fetch-all.php` со подобрена типографија и навигација.

function.oci-fetch-all.php

oci_fetch_all

Класата OCICollection

oci_fetch_allFetches multiple rows from a query into a two-dimensional array

= NULL

oci_fetch_all(
         resource $statement,
         array &$output,
         int $offset = 0,
         int $limit = -1,
         int $flags Презема повеќе редови од барање во дводимензионален список.
): int

= OCI_FETCHSTATEMENT_BY_COLUMN | OCI_ASSOC

Презема повеќе редови од барање во дводимензионален список. Стандардно, сите редови се враќаат. oci_execute().

Параметри

statement

Валиден идентификатор на OCI8 исказ креиран од oci_parse() и извршен од oci_execute(), или REF CURSOR идентификатор на исказ.

output

Оваа функција може да се повика само еднаш за секое барање извршено со

Променливата за да ги содржи вратените редови.

Константи за известување за грешки oci_fetch_array() LOB колоните се враќаат како низи, каде што Oracle поддржува конверзија.

offset

за повеќе информации за тоа како се преземаат податоците и типовите.

limit

Бројот на почетни редови што треба да се отфрлат при преземање на резултатот. Стандардната вредност е 0, така што се враќа од првиот ред натаму. offset Бројот на редови што треба да се вратат. Стандардно е -1 што значи врати ги сите редови од

flags

Параметар flags + 1 натаму.

oci_fetch_all() ја означува структурата на списокот и дали треба да се користат асоцијативни списоци.
Константа = NULL
OCI_FETCHSTATEMENT_BY_ROW Режими на структура на списокот
OCI_FETCHSTATEMENT_BY_COLUMN Надворешниот список ќе содржи еден под-список по ред од барањето.

Надворешниот список ќе содржи еден под-список по колона од барањето. Ова е стандардно.

oci_fetch_all() Списоците може да се индексираат или по наслов на колона или нумерички. Ќе биде вратен само еден режим на индекс.
Константа = NULL
OCI_NUM Режими на индекс на списокот
OCI_ASSOC Нумеричките индекси се користат за списокот на секоја колона.

Асоцијативните индекси се користат за списокот на секоја колона. Ова е стандардно.

Користете го операторот за собирање "+" за да изберете комбинација од режими на структура на списокот и индекс. var_dump() on output to verify the appropriate case to use for each query.

за да се потврди соодветниот случај што треба да се користи за секое барање.

Вратени вредности

Барањата што имаат повеќе од една колона со исто име треба да користат носии на колони. Инаку, само една од колоните ќе се појави во асоцијативен список. outputВраќа број на редови во

Примери

Пример #1 oci_fetch_all() example

<?php

$conn
= oci_connect('hr', 'welcome', 'localhost/XE');
if (!
$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res);

echo
"$nrows rows fetched<br>\n";
var_dump($res);

// var_dump output is:
// 2 rows fetched
// array(2) {
// ["POSTAL_CODE"]=>
// array(2) {
// [0]=>
// string(6) "00989x"
// [1]=>
// string(6) "10934x"
// }
// ["CITY"]=>
// array(2) {
// [0]=>
// string(4) "Roma"
// [1]=>
// string(6) "Venice"
// }
// }

// Pretty-print the results
echo "<table border='1'>\n";
foreach (
$res as $col) {
echo
"<tr>\n";
foreach (
$col as $item) {
echo
" <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
}
echo
"</tr>\n";
}
echo
"</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Пример #2 oci_fetch_all() "пример со" OCI_FETCHSTATEMENT_BY_ROW

<?php

$conn
= oci_connect('hr', 'welcome', 'localhost/XE');
if (!
$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW);

echo
"$nrows rows fetched<br>\n";
var_dump($res);

// Output is:
// 2 rows fetched
// array(2) {
// [0]=>
// array(2) {
// ["POSTAL_CODE"]=>
// string(6) "00989x"
// ["CITY"]=>
// string(4) "Roma"
// }
// [1]=>
// array(2) {
// ["POSTAL_CODE"]=>
// string(6) "10934x"
// ["CITY"]=>
// string(6) "Venice"
// }
// }

oci_free_statement($stid);
oci_close($conn);

?>

Пример #3 oci_fetch_all() with OCI_NUM

<?php

$conn
= oci_connect('hr', 'welcome', 'localhost/XE');
if (!
$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW + OCI_NUM);

echo
"$nrows rows fetched<br>\n";
var_dump($res);

// Output is:
// 2 rows fetched
// array(2) {
// [0]=>
// array(2) {
// [0]=>
// string(6) "00989x"
// [1]=>
// string(4) "Roma"
// }
// [1]=>
// array(2) {
// [0]=>
// string(6) "10934x"
// [1]=>
// string(6) "Venice"
// }
// }

oci_free_statement($stid);
oci_close($conn);

?>

Белешки

Забелешка:

Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува: offset , што може да биде 0 или повеќе. oci_fetch_array() е многу неефикасно. Сите редови што треба да се прескокнат се вклучени во резултатот што се враќа од базата на податоци до PHP. Потоа се отфрлаат. Поефикасно е да се користи SQL за да се ограничи поместувањето и опсегот на редови во барањето. Видете

Забелешка:

за пример. oci_fetch_array() се користи.

Забелешка:

For queries returning a large number of rows, performance can be significantly improved by increasing oci8.default_prefetch or using oci_set_prefetch().

Забелешка:

Барањата што враќаат голем број редови може да бидат поефикасни за меморија ако функција за преземање на еден ред какоc Нема да враќа редови од Oracle Database 12 oci_fetch_array() instead.

Види Исто така

  • oci_fetch() - Добива следниот ред од барање во внатрешни бафери
  • oci_fetch_array() - Враќа следниот ред од барање како асоцијативна или нумеричка низа
  • oci_fetch_assoc() - Враќа следниот ред од барање како асоцијативна низа
  • oci_fetch_object() - Враќа следниот ред од барање како објект
  • oci_fetch_row() - Враќа следниот ред од барањето како нумерички низ
  • oci_set_prefetch() - Поставува број на редови што треба да се претходно прочитаат од прашањата

Белешки од корисници 2 забелешки

Имплицитни множества на резултати. Користи
пред 22 години
The Skip and MaxRows parameters were not added until version 4.2.1.
Previous versions of php used this syntax:

           int ocifetchstatement ( resource stmt, array &output)

The function also took a third parameter that was not documented.  ( I assume that it was a flag)
david at boeke dot com
12 години пред
Beware that only numerically indexed results will be returned if
OCI_NUM is used.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.