Obtiene los metadatos de un campo único

# mysqli_result::fetch_field_direct

# mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

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

### Descripción

Estilo orientado a objetos

public function mysqli_result::fetch_field_direct(int `$index`): object|false

Estilo procedimental

function mysqli_fetch_field_direct(mysqli_result `$result`, int `$index`): object|false

Devuelve un objeto que contiene los metadatos de un campo en el conjunto de resultados especificado.

### Parámetros

`result`
  Solo estilo procedimental: Un objeto mysqli_result devuelto por mysqli_query(), mysqli_store_result(), mysqli_use_result() o mysqli_stmt_get_result().
`index`

  El número del campo. Este valor debe estar en el intervalo `0` a `número de campos - 1`.

### Valores devueltos

Devuelve un objeto que contiene los metadatos de un campo o `false` si no se especifican metadatos para el campo `index`.

Propiedades del objeto
Propiedad | Descripción
--- | ---
name | El nombre de la columna
orgname | El nombre original de la columna si se ha especificado un alias
table | El nombre de la tabla a la que pertenece este campo (si no ha sido calculado)
orgtable | El nombre original de la tabla si se ha especificado un alias
def | No utilizado. Siempre una string vacía
db | El nombre de la base de datos
catalog | No utilizado. Siempre `"def"`
max_length | La longitud máxima del campo para el conjunto de resultados. A partir de PHP 8.1, este valor es siempre `0`.
length | El ancho del campo en bytes. Para las columnas de tipo string, el valor de longitud varía en función del juego de caracteres de la conexión. Por ejemplo, si el juego de caracteres es `latin1`, un juego de caracteres de un byte, el valor de longitud para una consulta `SELECT 'abc'` es 3. Si el juego de caracteres es `utf8mb4`, un juego de caracteres multibyte en el que los caracteres ocupan hasta 4 bytes, el valor de longitud es 12.
charsetnr | El número del juego de caracteres para este campo
flags | Un integer que representa los bit-flags para este campo
type | El tipo de datos utilizados para este campo
decimals | El número de decimales para los campos numéricos y la precisión de los segundos fraccionarios para los campos temporales.

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* Verificación de la conexión */
    if (mysqli_connect_errno()) {
        printf("Fallo en la conexión: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

    if ($result = $mysqli->query($query)) {

        /* Obtener información del campo para la columna 'SurfaceArea' */
        $finfo = $result->fetch_field_direct(1);

        printf("Nombre      : %s\n", $finfo->name);
        printf("Tabla       : %s\n", $finfo->table);
        printf("Tamaño máx : %d\n", $finfo->max_length);
        printf("Flags       : %d\n", $finfo->flags);
        printf("Tipo        : %d\n", $finfo->type);

        $result->close();
    }

    /* Cierre de la conexión */
    $mysqli->close();
    ?>

Ejemplo #2 Estilo procedimental

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    /* Verificación de la conexión */
    if (mysqli_connect_errno()) {
        printf("Fallo en la conexión: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

    if ($result = mysqli_query($link, $query)) {

        /* Obtener información del campo para la columna 'SurfaceArea' */
        $finfo = mysqli_fetch_field_direct($result, 1);

        printf("Nombre      : %s\n", $finfo->name);
        printf("Tabla       : %s\n", $finfo->table);
        printf("Tamaño máx : %d\n", $finfo->max_length);
        printf("Flags       : %d\n", $finfo->flags);
        printf("Tipo        : %d\n", $finfo->type);

        mysqli_free_result($result);
    }

    /* Cierre de la conexión */
    mysqli_close($link);
    ?>

Los ejemplos anteriores mostrarán:

    Nombre      : SurfaceArea
    Tabla       : Country
    Tamaño máx : 10
    Flags       : 32769
    Tipo        : 4

### Ver también

- mysqli_num_fields() - Obtiene el número de campos en el conjunto de resultados
- mysqli_fetch_field() - Devuelve el siguiente campo en el conjunto de resultados
- mysqli_fetch_fields() - Devuelve un array de objetos que representan los campos en el resultado

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open