# maxdb_fetch_field_direct

# maxdb_result::fetch_field_direct

(PECL maxdb >= 1.0)

maxdb_fetch_field_direct -- maxdb_result::fetch_field_direct — Fetch meta-data for a single field

### 说明

过程化风格

maxdb_fetch_field_direct ( resource `$result` , int `$fieldnr` ) : mixed

面向对象风格

maxdb_result::fetch_field_direct ( int `$fieldnr` ) : mixed

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

### 返回值

Returns an resource 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
max_length | The maximum width of the field for the result set.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

### 范例

Example #1 面向对象风格

    <?php
    $maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

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

    $query = "SELECT name, cno from hotel.customer ORDER BY name";

    if ($result = $maxdb->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 */
    $maxdb->close();
    ?>

Example #2 过程化风格

    <?php
    $link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

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

    $query = "SELECT name, cno from hotel.customer ORDER BY name";

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

       /* Get field information for column 'cno' */
       $finfo = maxdb_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);

       maxdb_free_result($result);
    }

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

以上例程的输出类似于：

    Name:     CNO
    Table:
    max. Len: 4
    Flags:    -1
    Type:     0

### 参见

- maxdb_num_fields() - Get the number of fields in a result
- maxdb_fetch_field() - Returns the next field in the result set
- maxdb_fetch_fields() - Returns an array of resources representing the fields in a result set