mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

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

说明

面向对象风格

publicmysqli_result::fetch_field_direct(int$index): object|false

过程化风格

mysqli_fetch_field_direct(mysqli_result$result, int$index): object|false

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

参数

result

仅以过程化样式:由 mysqli_query()mysqli_store_result()mysqli_use_result()mysqli_stmt_get_result() 返回的 mysqli_result 对象。

index

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 index is available.

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
defUnused. Always an empty string
dbThe name of the database
catalogUnused. Always "def"
max_lengthThe maximum width of the field for the result set. As of PHP 8.1, this value is always 0.
length The width of the field in bytes. For string columns, the length value varies on the connection character set. For example, if the character set is latin1, a single-byte character set, the length value for a SELECT 'abc' query is 3. If the character set is utf8mb4, a multibyte character set in which characters take up to 4 bytes, the length value is 12.
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 for numeric fields, and the fractional seconds precision for temporal fields.

示例

示例 #1 面向对象风格

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


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)) {


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


$mysqli->close();
?>

示例 #2 过程化风格

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


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)) {


$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);
}


mysqli_close($link);
?>

以上示例会输出:

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

参见

To Top