Note: This manual is provided for your convenience only - this is not the official source and may not be 100% up to date.

mysqli_fetch_fields

mysqli_fetch_fields

(PHP 5)

mysqli_fetch_fields

(no version information, might be only in CVS)

result->fetch_fields() -- Returns an array of objects representing the fields in a result set

Description

Procedural Style:

array mysqli_fetch_fields ( mysqli_result result )

Object oriented style (method):

class mysqli_result {

array fetch_fields ( void )

}

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.

Table 1. Object properties

PropertyDescription
nameThe name of the column
orgnameOriginal column name if an alias was specified
tableThe name of the table this field belongs to (if not calculated)
orgtableOriginal table name if an alias was specified
defThe default value for this field, represented as a string
max_lengthThe maximum width of the field for the result set.
lengthThe width of the field, as specified in the table definition.
charsetnrThe character set number for the field.
flagsAn integer representing the bit-flags for the field.
typeThe data type used for this field
decimalsThe 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 example will output:

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

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