# mysqli_result::fetch_field

# mysqli_fetch_field

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field -- mysqli_fetch_field — Retorna el próximo campo del resultset

### Descripción

Estilo orientado a objetos

mysqli_result::fetch_field(): object

Estilo por procedimientos

mysqli_fetch_field(mysqli_result `$result`): object

Retorna la definición de una columna del resultset como un objeto. Para obtener la información de todas las columnas del resultset hay que llamar esta función reiterativamente.

### 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().

### Valores devueltos

Retorna un objeto que contiene la información de la columna o `false` en el caso de que la información no esté disponible.

Propiedades del objeto
Propiedad | Descripción
--- | ---
name | El nombre de la columna
orgname | El nombre original de la columna en caso que se haya especificado un alias
table | El nombre de la tabla al que este campo pertenece (si no es calculado)
orgtable | El nombre original de la tabla en caso que se haya especificado un alias
def | Reservado para el valor por omisión, por ahora es siempre ""
db | Base de datos (desde PHP 5.3.6)
catalog | El nombre del catálogo, siempre "def" (desde PHP 5.3.6)
max_length | El largo máximo del campo en el resultset
length | El largo del campo, tal como se especifica en la definición de la tabla.
charsetnr | El número del juego de caracteres del campo.
flags | Un entero que representa las banderas de bits del campo.
type | El tipo de datos que se usa en este campo
decimals | El número de decimales utilizado (para campos de tipo integer)

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";
if ($result = $mysqli->query($query)) {
/* Obtener la información del campo de cada columna */
while ($finfo = $result->fetch_field()) {
printf("Nombre: %s\n", $finfo->name);
printf("Tabla: %s\n", $finfo->table);
printf("Largo max: %d\n", $finfo->max_length);
printf("Banderas: %d\n", $finfo->flags);
printf("Tipo: %d\n\n", $finfo->type);
}
$result->close();
}
/* cerrar la conexión */
$mysqli->close();
?>`

Ejemplo #2 Estilo por procedimientos

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* verificar la conexión *
if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";
if ($result = mysqli_query($link, $query)) {
/* Obtener la información del campo de cada columna */
while ($finfo = mysqli_fetch_field($result)) {
printf("Nombre: %s\n", $finfo->name);
printf("Tabla: %s\n", $finfo->table);
printf("Largo max: %d\n", $finfo->max_length);
printf("Banderas: %d\n", $finfo->flags);
printf("Tipo: %d\n\n", $finfo->type);
}
mysqli_free_result($result);
}
/* cerrar la conexión */
mysqli_close($link);
?>`

El resultado de los ejemplos sería:

    Nombre:     Name
    Tabla:      Country
    Largo max:  11
    Banderas:   1
    Tipo:       254

    Nombre:     SurfaceArea
    Tabla:      Country
    Largo max:  10
    Banderas:   32769
    Tipo:       4

### Ver también

- mysqli_num_fields() - Obtiene el número de campos de un resultado
- mysqli_fetch_field_direct() - Obtener los metadatos de un único campo
- mysqli_fetch_fields() - Devuelve un array de objetos que representan los campos de un conjunto de resultados
- mysqli_field_seek() - Establecer el puntero del resultado al índice del campo especificado