mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5, PHP 7)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_directFetch meta-data for a single field

说明

面向对象风格

mysqli_result::fetch_field_direct ( int $fieldnr ) : object

过程化风格

mysqli_fetch_field_direct ( mysqli_result $result , int $fieldnr ) : object

Returns an object which contains field definition information from the specified result set.

参数

result

仅以过程化样式:由 mysqli_query()mysqli_store_result()mysqli_use_result()返回的结果集标识。

fieldnr

The field number. This value 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.

Object attributes
Attribute 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
def The default value for this field, represented as a string
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 numeric fields)

范例

Example #1 面向对象风格

<?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();
?>

Example #2 过程化风格

<?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($result1);

    
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

参见