mysqli_fetch_field_direct

(PHP 5)

mysqli_fetch_field_direct

(no version information, might be only in CVS)

result->fetch_field_direct --  Fetch meta-data for a single field

Description

Procedural style:

mixed mysqli_fetch_field_direct ( mysqli_result result, int fieldnr )

Object oriented style (method):

class mysqli_result {

mixed fetch_field_direct ( int fieldnr )

}

mysqli_fetch_field_direct() returns an object which contains field definition informations from specified resultset. The value of fieldnr must be in the range from 0 to number of fields - 1.

返回值

Returns an object which contains field definition information or FALSE if no field information for specified fieldnr is available.

表格 1. Object attributes

AttributeDescription
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.
flagsAn integer representing the bit-flags for the field.
typeThe data type used for this field
decimalsThe number of decimals used (for integer fields)

参见

mysqli_num_fields(), mysqli_fetch_field()mysqli_fetch_fields().

例子 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 Name LIMIT 5";

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

    
/* Get field information for column 'SurfaceArea' */
    
$finfo = $result->fetch_field_direct(1);

    
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", $finfo->type);
    
    
$result->close();
}

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

例子 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 Name LIMIT 5";

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

    
/* Get field information for column 'SurfaceArea' */
    
$finfo = mysqli_fetch_field_direct($result, 1);

    
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", $finfo->type);

    
mysqli_free_result($result);
}

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

上例将输出:

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