(PHP 5, PHP 7)
mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Obtener los metadatos de un único campo
Estilo orientado a objetos
$fieldnr
)Estilo por procedimientos
Devuelve un objeto que contiene la información de definición de un campo del conjunto de resultados especificado.
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.
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.
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) |
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