mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_directObtiene los metadatos de un campo único

Descripción

Estilo orientado a objetos

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

Estilo por procedimientos

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

Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_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 por procedimientos

<?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);
?>

El resultado de los ejemplos sería:

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

Ver también