Возвращает следующее поле результирующего набора

# mysqli_result::fetch_field

# mysqli_fetch_field

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field -- mysqli_fetch_field — Возвращает следующее поле результирующего набора

### Описание

Объектно-ориентированный стиль

public function mysqli_result::fetch_field(): object|false

Процедурный стиль

function mysqli_fetch_field(mysqli_result `$result`): object|false

Метод возвращает информацию об одном столбце результирующего набора в виде объекта. Чтобы получить определения всех столбцов, просто запустите метод многократно.

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

`result`
  Только для процедурного стиля: объект mysqli_result, который вернула функция mysqli_query(), mysqli_store_result(), mysqli_use_result() или mysqli_stmt_get_result().

### Возвращаемые значения

Метод возвращает объект, который содержит определение поля или `false`, если столбцы в результирующей таблице закончились.

Свойства объекта
Свойство | Описание
--- | ---
name | Имя столбца
orgname | Исходное имя столбца, если указали псевдоним
table | Имя таблицы, которой принадлежит столбец (если не вычислено)
orgtable | Исходное имя таблицы, если указали псевдоним
def | Неиспользуемый. Всегда пустая строка
db | Имя базы данных
catalog | Неиспользуемый. Всегда `«def»`
max_length | Максимальная ширина поля результирующего набора. Начиная с PHP 8.1 это значение всегда равно `0`
length | Ширина поля в байтах. Для строковых столбцов значение длины зависит от кодировки соединения. Например, если кодировка — `latin1`, однобайтовый набор символов, значение длины для запроса `SELECT 'abc'` равно 3. Если кодировка — `utf8mb4`, многобайтовый набор символов, в котором символы занимают до 4 байтов, значение длины равно 12
charsetnr | Номер кодировки для поля
flags | Целое число, которое представляет битовые флаги для поля
type | Тип данных поля
decimals | Количество десятичных знаков для числовых полей и точность долей секунды для временных полей

### Примеры

Пример #1 Объектно-ориентированный стиль

    <?php

    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* Проверяем подключение */
    if (mysqli_connect_errno()) {
        printf("Не удалось подключиться: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

    if ($result = $mysqli->query($query)) {

        /* Получаем информацию о каждом столбце */
        while ($finfo = $result->fetch_field()) {

            printf("Имя:         %s\n", $finfo->name);
            printf("Таблица:     %s\n", $finfo->table);
            printf("Макс. длина: %d\n", $finfo->max_length);
            printf("Флаги:       %d\n", $finfo->flags);
            printf("Тип:         %d\n\n", $finfo->type);
        }
        $result->close();
    }

    /* Закрываем подключение */
    $mysqli->close();

    ?>

Пример #2 Процедурный стиль

    <?php

    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    /* Проверяем подключение */
    if (mysqli_connect_errno()) {
        printf("Не удалось подключиться: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

    if ($result = mysqli_query($link, $query)) {

        /* Получаем информацию о каждом столбце */
        while ($finfo = mysqli_fetch_field($result)) {
            printf("Имя:           %s\n", $finfo->name);
            printf("Таблица:       %s\n", $finfo->table);
            printf("Макс. длина:   %d\n", $finfo->max_length);
            printf("Флаги:         %d\n", $finfo->flags);
            printf("Тип:         %d\n\n", $finfo->type);
        }
        mysqli_free_result($result);
    }

    /* Закрываем подключение */
    mysqli_close($link);

    ?>

Результат выполнения приведённых примеров:

    Имя:         Name
    Таблица:     Country
    Макс. длина: 11
    Флаги:       1
    Тип:         254

    Имя:         SurfaceArea
    Таблица:     Country
    Макс. длина: 10
    Флаги:       32769
    Тип:         4

### Смотрите также

- mysqli_num_fields() - Получает количество полей в наборе результатов
- mysqli_fetch_field_direct() - Получает метаданные конкретного поля
- mysqli_fetch_fields() - Возвращает массив объектов, которые представляют поля результирующего набора
- mysqli_field_seek() - Устанавливает указатель результата на заданное смещение поля

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open