Получение метаданных конкретного поля


mysqli_fetch_field_direct

(PHP 5)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_directПолучение метаданных конкретного поля

Описание

Объектно-ориентированный стиль

object mysqli_result::fetch_field_direct ( int $fieldnr )

Процедурный стиль

object mysqli_fetch_field_direct ( mysqli_result $result , int $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($result1);

    
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 

Смотрите также

  • mysqli_num_fields() - Получение количества полей в результирующем наборе
  • mysqli_fetch_field() - Возвращает следующее поле результирующего набора
  • mysqli_fetch_fields() - Возвращает массив объектов, представляющих поля результирующего набора