mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_directПолучение метаданных конкретного поля

Описание

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

public mysqli_result::fetch_field_direct(int $index): object|false

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

mysqli_fetch_field_direct(mysqli_result $result, int $index): object|false

Возвращает информацию о столбце результирующего набора в виде объекта.

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

result

Только для процедурного стиля: объект mysqli_result, полученный с помощью mysqli_query(), mysqli_store_result(), mysqli_use_result() или mysqli_stmt_get_result().

index

Номер поля. Число должно лежать в диапазоне от 0 до количество полей - 1.

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

Возвращает объект содержащий определение поля или false, если поле с номером fieldnr недоступно.

Свойства объекта
Свойство Описание
name Имя столбца
orgname Исходное имя столбца, если у него есть псевдоним
table Имя таблицы, которой принадлежит столбец (если не вычислено)
orgtable Исходное имя таблицы, если есть псевдоним
def Зарезервировано для значения по умолчанию, на данный момент всегда ""
max_length Максимальная ширина поля результирующего набора. Начиная с PHP 8.1, это значение всегда 0.
length Ширина поля, как она задана при определении таблицы.
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 Name LIMIT 5";

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

/* получение метаданных столбца 'SurfaceArea' */
$finfo = $result->fetch_field_direct(1);

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 Name LIMIT 5";

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

/* получение метаданных столбца 'SurfaceArea' */
$finfo = mysqli_fetch_field_direct($result, 1);

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);
?>

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

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

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

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