array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'mysqli-result.fetch-field-direct.php', 1 => 'mysqli_result::fetch_field_direct', ), 'up' => array ( 0 => 'class.mysqli-result.php', 1 => 'mysqli_result', ), 'prev' => array ( 0 => 'mysqli-result.fetch-column.php', 1 => 'mysqli_result::fetch_column', ), 'next' => array ( 0 => 'mysqli-result.fetch-field.php', 1 => 'mysqli_result::fetch_field', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/mysqli/mysqli_result/fetch-field-direct.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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 | Зарезервировано для значения по умолчанию, на данный момент всегда "" |
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