(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Получает метаданные конкретного поля
Объектно-ориентированный стиль
Процедурный стиль
Метод возвращает информацию о столбце результирующего набора в виде объекта.
result
Только для процедурного стиля: объект mysqli_result, который вернула функция mysqli_query(), mysqli_store_result(), mysqli_use_result() или mysqli_stmt_get_result().
index
Номер поля. Число в диапазоне от
0
до количество полей - 1
.
Метод возвращает объект, который содержит определение поля, или false
, если поле с номером,
который задали для параметра index
, недоступно.
Свойство | Описание |
---|---|
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 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