Доступ до результатів вибірки через MySQL fetch array

16 0 Новини високих технологій

MySQL fetch array обробляє результати вибірки з бази даних і повертає в якості результату звичайний, асоціативний або обидва масиву відразу. Фактично MySQL fetch - це трансляція інформації, отриманої за запитом до бази, зручну для обробки форму.

Доступ до результатів вибірки через MySQL fetch array
На простих запитах синтаксис один рядок вибірки звертається в масив, на потокових запитах це інструмент послідовної обробки інформаційного потоку.

Синтаксис і приклад застосування

На вхід PHP MySQL fetch array надходить результат запиту та може бути вказаний формат бажаного результату:
  • MYSQL_ASSOC;
  • MYSQL_NUM;
  • MYSQL_BOTH.
  • У першому випадку буде сформований асоціативний масив, у другому випадку - масив з числовими індексами, а в останньому випадку буде доступний масив з індексами обох типів.


    В результаті виконання $aFetch = mysqli_fetch_array($cResult) буде створений масив $aFetch.
    Доступ до результатів вибірки через MySQL fetch array
    В даному прикладі MySQL fetch array обробляє вихідні дані (1). У таблиці чотири записи для кожної виконується різні варіанти fetch. Результат обробки вибірки (2) зшивається в рядки даних (3): $cFetch, $cFetch1 $cFetch2 $cFetch3.
    Доступ до результатів вибірки через MySQL fetch array
    За результатами видно, що без вказівки констант MYSQL_ASSOC, MYSQL_NUM і MYSQL_BOTH виходить такий же результат, як і у випадку MYSQL_BOTH. Ці константи вважаються застарілими і їх використання не рекомендується.

    Використання MySQL fetch array

    Використання вибірки за результатами запиту у форматі масиву дуже зручно в програмах на PHP. Функціонал доступу до бази MySQL надає безпечні і надійні методи доступу.


    Помилку рівня warning MySQL fetch array генерує тільки в ситуації, коли $cResult відсутня або недійсний, а отже, підключення до бази даних не відбулося. Ім'я $cResult може бути будь-яким, тут воно використане в контексті прикладу. У запиті (2):
  • $cResult = mysqli_query($this->iConnectId, $cQuery);
  • змінна $this->iConnectId - це активне з'єднання з базою даних, оформлена у форматі багатофункціонального об'єкта. Інструмент MySQL fetch array - простий і ефективний засіб, але все ж його використання зручно виконувати об'єктно-орієнтованим способом.

    Об'єкт доступу до бази даних

    MySQL - гранично простий і ефективний інструмент для організації інформації. Бази даних MySQL за весь час свого застосування показали себе надійним і ефективним засобом для зберігання і доступу до даних.
    Доступ до результатів вибірки через MySQL fetch array
    Механізм запису запитів до бази даних та їх застосування простий, але на практиці ідеально його оформляти у форматі об'єкта бази даних, окремій таблиці або конкретної структури даних. Конструкція MySQL fetch на реальній практиці досить громіздка, особливо коли необхідно виконати вибірку інформації з однієї таблиці основної інформації, наприклад, штатного розкладу, а потім з інших таблиць вибирати дані по співробітниках:
  • історію трудової діяльності;
  • біографічні дані;
  • виробничі досягнення;
  • область професійної компетенції;
  • інші дані.
  • Як правило, ці дані будуть заповнені не по всім співробітникам, а до того ж якщо вводити в таблицю штатного розкладу зокрема по кожному рядку, це зробить її громіздкою і незручною у використанні.

    Рівень об'єкта доступу до бази даних

    Сфера застосування MySQL fetch - трансформація даних у масив. Це можна виконати на рівні методів об'єкта бази даних. В цьому випадку розробник створює для себе інструмент високого рівня, який надає доступ до будь-якої таблиці бази даних однаковим чином.
    Доступ до результатів вибірки через MySQL fetch array
    Відбувається звернення до методу, який відразу формує потрібний масив даних, а операції формування запиту, його виконання та обробки результату лягають в тіло цього методу. Це дуже зручно, і необхідність писати громіздкі конструкції, створюючи прецедент для можливої помилки, відпадає. Особливо важливо: такий підхід спрощує ймовірні модифікації структури бази даних, оскільки за межі об'єкта доступу до бази даних вони не виходять. При необхідності потрібно буде переробити тільки об'єкт доступу до бази даних, а не весь функціонал сайту. Ще більш зручно над об'єктом доступу до бази даних надбудувати об'єкти реального призначення. Наприклад, штатний опис, що має властивості: список, виведення даних по співробітникові, зміна картки співробітника і т. д. Інструменти доступу до даних ховаються в надрах методів реальних об'єктів, що спрощує роботу розробника і підвищує якість результату.