(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field -- mysqli_fetch_field — Devuelve el siguiente campo en el conjunto de resultados
Estilo orientado a objetos
Estilo por procedimientos
Devuelve los atributos de la siguiente columna en el conjunto de
resultados representado por el parámetro result
como un objeto. Llame a esta función de forma repetitiva para
recuperar la información de todas las columnas.
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 objeto que contiene la información de un campo o false
si no hay información disponible para este campo.
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. |
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 Code LIMIT 5";
if ($result = $mysqli->query($query)) {
/* Recupera la información de un campo para todas las columnas */
while ($finfo = $result->fetch_field()) {
printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\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 Code LIMIT 5";
if ($result = mysqli_query($link, $query)) {
/* Recupera la información de un campo para todas las columnas */
while ($finfo = mysqli_fetch_field($result)) {
printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);
}
mysqli_free_result($result);
}
/* Cierre de la conexión */
mysqli_close($link);
?>
El resultado de los ejemplos sería:
Name: Name Table: Country max. Len: 11 Flags: 1 Type: 254 Name: SurfaceArea Table: Country max. Len: 10 Flags: 32769 Type: 4