oci_fetch_all

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_all — Вибирає всі рядки з результату запиту на двовимірний масив.

Опис

oci_fetch_all(    resource $statement,    array &$output,    int $offset = 0,    int $limit = -1,    int $flags = OCI_FETCHSTATEMENT_BY_COLUMN | OCI_ASSOC): int

Вибирає всі рядки з результату запиту двомірний масив. За промовчанням повертає всі рядки.

Ця функція може бути викликана лише один раз для кожного запиту запущеного за допомогою oci_execute()

Список параметрів

statement

Коректний ідентифікатор виразу OCI8, отриманий з oci_parse() та виконаний функцією oci_execute(), або ідентифікатор виразу REF CURSOR

output

Змінна, що містить повернені рядки.

LOB стовпці повертаються як рядки, для яких підтримується Oracle перетворення.

Смотритеoci_fetch_array() для більш детальної інформації про те, як проводиться вибірка даних та типів.

offset

Число рядків, які необхідно виключити з вибірки. За замовчуванням дорівнює 0, вибірка повертається з наступного ряду.

limit

Число рядків, що повертаються. За замовчуванням дорівнює -1, що означає повернення всіх рядків, починаючи із зазначених у offset + 1 попередній рядок.

flags

Параметрflags містить структуру масиву відбиває необхідність використання асоціативних масивів.

Структура массиваoci_fetch_all()****

КонстантаОпис
OCI_FETCHSTATEMENT_BY_ROWМасив буде містити по одному підмасиву на кожен рядок запиту.
OCI_FETCHSTATEMENT_BY_COLUMNМасив міститиме по одному підмасиву на кожен стовпець. Використовується за промовчанням.

Масиви можуть бути проіндексовані або заголовками стовпців або пронумеровані. Повернеться лише один режим індексації.

Индексация массиваoci_fetch_all()****

КонстантаОпис
OCI_NUMДля масиву кожного стовпця використовуються числові індекси.
OCI_ASSOCДля масиву кожного стовпця використовують асоціативні індекси. За замовчуванням.

Використовуйте оператор додавання "+" для вибору певної комбінації структури та індексації масиву.

Регістронезалежні (за замовчуванням у Oracle) імена полів у результуючому масиві матимуть асоціативні індекси у верхньому регістрі. Регістрозалежні імена полів матимуть індекси з тими самими регістрами символів, як і саме поле. Використовуйте var_dump()наoutput, щоб перевірити відповідність регістрів символів для кожного запиту.

У запитах, у яких є кілька стовпців з однаковими іменами, необхідно використовувати псевдоніми. Інакше лише один із стовпців з'явиться в асоціативному масиві.

Значення, що повертаються

Повертає кількість стовпців у output, який може набувати значення 0 або більше.

Приклади

Приклад #1 Приклад використання oci_fetch_all()****

Loading...

Приклад #2 Приклад використання oci_fetch_all()сOCI_FETCHSTATEMENT_BY_ROW****

Loading...

Приклад #3 Приклад використання oci_fetch_all()сOCI_NUM****

Loading...

Примітки

Зауваження :

Использованиеoffset неефективно. Всі ряди, що пропускаються, включаються в результат запиту повертається базою даних до PHP. Після цього вони виключаються. Більш ефективно використовувати SQL для відступу та обмеження рядів у запиті. Дивіться oci_fetch_array()для Прикладов.

Зауваження :

Запити, що повертають велику кількість рядів, можуть бути більш ефективними, якщо використовується однорядна функція вибірки, така як oci_fetch_array()

Зауваження :

Для запитів, що повертають велику кількість рядів, продуктивність може бути значно збільшена за допомогою збільшення значення опції oci8.default_prefetchили использованияoci_set_prefetch()

Зауваження :

Не повертає ряди для неявних результуючих наборів у Oracle Database 12c. Використовуйте замість цієї функції функцію oci_fetch_array()

Дивіться також

  • oci_fetch() - Вибирає наступний рядок із результату в буфер
  • oci_fetch_array() - Повертає наступний рядок із результату запиту у вигляді асоціативного чи нумерованого масиву
  • oci_fetch_assoc() - Повертає наступний рядок із результату запиту у вигляді асоціативного масиву
  • oci_fetch_object() - Повертає наступний рядок із результату запиту у вигляді об'єкта
  • oci_fetch_row() - Повертає наступний рядок із результату запиту у вигляді нумерованого масиву
  • oci_set_prefetch() - Встановлює кількість рядків, які будуть автоматично вибрані у буфер