(PHP 5, PHP 7)
mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Получение метаданных конкретного поля
Объектно-ориентированный стиль
$fieldnr
)Процедурный стиль
Возвращает информацию о столбце результирующего набора в виде объекта.
result
Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().
fieldnr
Номер поля. Число должно лежать в диапазоне от 0 до количество полей - 1.
Возвращает объект содержащий определение поля или FALSE
, если поле с номером
fieldnr недоступно.
Свойство | Описание |
---|---|
name | Имя столбца |
orgname | Исходное имя столбца, если у него есть псевдоним |
table | Имя таблицы, которой принадлежит столбец (если не вычислено) |
orgtable | Исходное имя таблицы, если есть псевдоним |
def | Зарезервировано для значения по умолчанию, на данный момент всегда "" |
max_length | Максимальная ширина поля результирующего набора. |
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