(PHP 5)
mysqli_result::fetch_fields -- mysqli_fetch_fields — Devuelve un array de objetos que representan los campos de un conjunto de resultados
Estilo orientado a objetos
Estilo por procedimientos
Esta función sirve de propósito idéntico a la función mysqli_fetch_field() con la única diferencia de que, en lugar de devolver un objeto por cada campo, las columnas son devueltas en un array de objetos.
result
Sólo estilo por procedimientos: Un conjunto de identificadores de resultados devuelto por mysqli_query(), mysqli_store_result() o mysqli_use_result().
Devuelve un array de objetos que contiene la información de definición de los campos o
FALSE
si no hay información de campo disponible.
Propiedad | 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 |
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 usado (para campos integer) |
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 Code LIMIT 5";
if ($resultado = $mysqli->query($consulta)) {
/* Obtener la información de campo de todas las columnas */
$info_campo = $resultado->fetch_fields();
foreach ($info_campo as $valor) {
printf("Nombre: %s\n", $valor->name);
printf("Tabla: %s\n", $valor->table);
printf("Longitud máx.: %d\n", $valor->max_length);
printf("Banderas: %d\n", $valor->flags);
printf("Tipo: %d\n", $valor->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 Code LIMIT 5";
if ($resultado = mysqli_query($enlace, $consulta)) {
/* Obtener la información de campo de todas las columnas */
$info_campo = mysqli_fetch_fields($resultado);
foreach ($info_campo as $valor) {
printf("Nombre: %s\n", $valor->name);
printf("Tabla: %s\n", $valor->table);
printf("Longitud máx.: %d\n", $valor->max_length);
printf("Banderas: %d\n", $valor->flags);
printf("Tipo: %d\n", $valor->type);
}
mysqli_free_result($resultado);
}
/* cerrar la conexión */
mysqli_close($enlace);
?>
El resultado de los ejemplos serían:
Nombre: Name Tabla: Country Longitud máx.: 11 Banderas: 1 Tipo: 254 Nombre: SurfaceArea Tabla: Country Longitud máx.: 10 Banderas: 32769 Tipo: 4