mysqli_result::fetch_fields

mysqli_fetch_fields

Returns an array of objects representing the fields in a result set

Description

Object oriented style

array mysqli_result::fetch_fields ( void )

Procedural style

array mysqli_fetch_fields ( mysqli_result $result )

This function serves an identical purpose to the mysqli_fetch_field function with the single difference that, instead of returning one object at a time for each field, the columns are returned as an array of objects.

Parameters

result

Procedural style only: A result set identifier returned by mysqli_query, mysqli_store_result or mysqli_use_result.

Return Values

Returns an array of objects which contains field definition information or FALSE if no field information is available.

Object properties
Property Description
name The name of the column
orgname Original column name if an alias was specified
table The name of the table this field belongs to (if not calculated)
orgtable Original table name if an alias was specified
max_length The maximum width of the field for the result set.
length The width of the field, as specified in the table definition.
charsetnr The character set number for the field.
flags An integer representing the bit-flags for the field.
type The data type used for this field
decimals The number of decimals used (for integer fields)

Examples

Example #1 Object oriented style

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if (
$result $mysqli->query($query)) {

    
/* Get field information for all columns */
    
$finfo $result->fetch_fields();

    foreach (
$finfo as $val) {
        
printf("Name:     %s\n"$val->name);
        
printf("Table:    %s\n"$val->table);
        
printf("max. Len: %d\n"$val->max_length);
        
printf("Flags:    %d\n"$val->flags);
        
printf("Type:     %d\n\n"$val->type);
    }
    
$result->close();
}

/* close connection */
$mysqli->close();
?>

Example #2 Procedural style

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if (
$result mysqli_query($link$query)) {

    
/* Get field information for all columns */
    
$finfo mysqli_fetch_fields($result);

    foreach (
$finfo as $val) {
        
printf("Name:     %s\n"$val->name);
        
printf("Table:    %s\n"$val->table);
        
printf("max. Len: %d\n"$val->max_length);
        
printf("Flags:    %d\n"$val->flags);
        
printf("Type:     %d\n\n"$val->type);
    }
    
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

The above examples will output:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

See Also

  • mysqli_num_fields
  • mysqli_fetch_field_direct
  • mysqli_fetch_field