(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Получение метаданных конкретного поля
Объектно-ориентированный стиль
$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