downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

mysqli_result::fetch_object> <mysqli_result::fetch_field
[edit] Last updated: Fri, 17 May 2013

view this page in

mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5)

mysqli_result::fetch_fields -- mysqli_fetch_fieldsDevuelve un array de objetos que representan los campos de un conjunto de resultados

Descripción

Estilo orientado a objetos

array mysqli_result::fetch_fields ( void )

Estilo por procedimientos

array mysqli_fetch_fields ( mysqli_result $result )

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.

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().

Valores devueltos

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.

Propiedades del objeto
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)

Ejemplos

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

Ver también



add a note add a note User Contributed Notes mysqli_result::fetch_fields - [1 notes]
up
1
AndrewRoz
2 years ago
The field info bit-flags used by MySql are:                                                                                                                                           
 (Thanks to ragtag at hotmail dot com)
<?php
/*
       NOT_NULL_FLAG = 1                                                                             
       PRI_KEY_FLAG = 2                                                                              
       UNIQUE_KEY_FLAG = 4                                                                           
       BLOB_FLAG = 16                                                                                
       UNSIGNED_FLAG = 32                                                                            
       ZEROFILL_FLAG = 64                                                                            
       BINARY_FLAG = 128                                                                             
       ENUM_FLAG = 256                                                                               
       AUTO_INCREMENT_FLAG = 512                                                                     
       TIMESTAMP_FLAG = 1024                                                                         
       SET_FLAG = 2048                                                                               
       NUM_FLAG = 32768                                                                              
       PART_KEY_FLAG = 16384                                                                         
       GROUP_FLAG = 32768                                                                            
       UNIQUE_FLAG = 65536
*/                                                                           

// To test if a flag is set you can use & like so:

 
$meta = $mysqli_result_object->fetch_field();
  if (
$meta->flags & 4) {
     echo
'Unique key flag is set';
  }
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites