sqlsrv_fetch_object

(No version information available, might only be in Git)

sqlsrv_fetch_object — Отримує наступний рядок даних у наборі результатів як об'єкт

Опис

sqlsrv_fetch_object(    resource $stmt,    string $className = ?,    array $ctorParams = ?,    int $row = ?,    int $offset = ?): mixed

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

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

stmt

Ресурс оператора, що повертається sqlsrv_query() або sqlsrv_execute()

className

Назва класу для створення екземпляра. Якщо ім'я класу не вказано, створюється екземпляр stdClass.

ctorParams

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

row

Рядок, до якого потрібно отримати доступ. Параметр можна використовувати лише в тому випадку, якщо вказаний оператор був підготовлений за допомогою курсору з можливістю прокручування. У цьому випадку цей параметр може приймати одне з таких значень:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Вказує рядок, до якого буде доступ, якщо для параметра рядка встановлено значення **SQLSRV_SCROLL_ABSOLUTE** або **SQLSRV_SCROLL_RELATIVE**Обратите внимание, что первая строка в наборе результатов имеет индекс 0.

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

У разі успішного виконання повертає об'єкт, **null**якщо в наборі результатів більше немає рядків і false у разі виникнення помилки або якщо зазначений клас не існує.

Приклади

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

У цьому прикладі показано, як отримати рядок як об'єкт stdClass.

Loading...

Примітки

Якщо ім'я класу вказано з необов'язковим параметром $className і клас має властивості, імена яких збігаються з іменами полів набору результатів, до властивостей застосовуються відповідні значення набору результатів. Якщо ім'я поля набору результатів не відповідає властивості класу, властивість з ім'ям поля набору результатів додається до об'єкта, а значення набору результатів застосовується до властивості. При використанні параметра $className застосовуються такі правила:

  • При зіставленні імен властивостей поля враховується регістр.
  • Порівняння властивостей поля відбувається незалежно від модифікаторів доступу.
  • Типи даних властивостей класу ігноруються при застосуванні значення поля властивості.
  • Якщо клас немає, функція повертає**false**та додає помилку до колекції помилок.

Незалежно від того, чи вказано параметр $className, якщо поле повертається без імені, значення поля буде проігноровано, а до колекції помилок буде додано попередження.

При використанні набору результатів, що містить кілька стовпців з однаковим ім'ям, можливо краще використовувати sqlsrv_fetch_array() або комбінацію sqlsrv_fetch() і sqlsrv_get_field()

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

  • sqlsrv_fetch() - Робить наступний рядок у наборі результатів доступного для читання
  • sqlsrv_fetch_array() - Повертає рядок як масив