mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5, PHP 7, PHP 8)

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

Описание

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

public mysqli_result::fetch_field(): object|false

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

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() - Устанавливает указатель результата на заданное смещение поля