# mysqli_result::fetch_field_direct

# mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Obtener los metadatos de un único campo

### Descripción

Estilo orientado a objetos

mysqli_result::fetch_field_direct(int `$fieldnr`): object

Estilo por procedimientos

mysqli_fetch_field_direct(mysqli_result `$result`, int `$fieldnr`): object

Devuelve un objeto que contiene la información de definición de un campo del conjunto de resultados especificado.

### Parámetros

`result`

  Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().

`fieldnr`

  El número de campo. Este valor debe estar en un rango desde `0` a `número de campos - 1`.

### Valores devueltos

Devuelve un objeto que contiene la información de definición del campo o `false` si no está disponible la información del campo especificada por `fieldnr`.

Atributos del objeto
Atributo | Descripción
--- | ---
name | El nombre de la columna
orgname | El nombre original de la columna si se especificó un alias
table | El nombre de la tabla al que pertenece el campo (si no es calculado)
orgtable | El nombre original de la tabla si se especificó un alias
def | El valor predeterminado de este campo, representado como una cadena
max_length | El ancho máximo del campo del conjunto de resultados.
length | El ancho del campo, como fue especificado en la definición de la tabla.
charsetnr | El número del conjunto de caracteres del campo.
flags | Un entero que representa las banderas de bits del campo.
type | El tipo de datos usado por el campo
decimals | El número de decimales empleados (para campos numéricos)

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

`<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* comprobar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";
if ($resultado = $mysqli->query($consulta)) {
/* Obtener la información del campo para la columna 'SurfaceArea' */
$info_campo = $resultado->fetch_field_direct(1);
printf("Nombre: %s\n", $info_campo->name);
printf("Tabla: %s\n", $info_campo->table);
printf("Longitud máx.: %d\n", $info_campo->max_length);
printf("Banderas: %d\n", $info_campo->flags);
printf("Tipo: %d\n", $info_campo->type);
$resultado->close();
}
/* cerrar la conexión */
$mysqli->close();
?>`

Ejemplo #2 Estilo por procedimientos

`<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* comprobar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
$consulta = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";
if ($resultado = mysqli_query($enlace, $consulta)) {
/* Obtener la información del campo para la columna 'SurfaceArea' */
$info_campo = mysqli_fetch_field_direct($resultado, 1);
printf("Nombre: %s\n", $info_campo->name);
printf("Tabla: %s\n", $info_campo->table);
printf("Longitud máx.: %d\n", $info_campo->max_length);
printf("Banderas: %d\n", $info_campo->flags);
printf("Tipo: %d\n", $info_campo->type);
mysqli_free_result($resultado);
}
/* cerrar la conexión */
mysqli_close($enlace);
?>`

El resultado de los ejemplos sería:

    Nombre:        SurfaceArea
    Tabla:         Country
    Longitud máx.: 10
    Banderas:      32769
    Tipo:          4

### Ver también

- mysqli_num_fields() - Obtiene el número de campos de un resultado
- mysqli_fetch_field() - Retorna el próximo campo del resultset
- mysqli_fetch_fields() - Devuelve un array de objetos que representan los campos de un conjunto de resultados