(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field -- mysqli_fetch_field — Возвращает следующее поле результирующего набора
Объектно-ориентированный стиль
Процедурный стиль
Метод возвращает информацию об одном столбце результирующего набора в виде объекта. Чтобы получить определения всех столбцов, просто запустите метод многократно.
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