(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field -- mysqli_fetch_field — Returns the next field in the result set
Object-oriented style
Procedural style
Returns the definition of one column of a result set as an object. Call this function repeatedly to retrieve information about all columns in the result set.
result
Returns an object which contains field definition information or false
if no field information is available.
| Property | 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 | Unused. Always an empty string |
| db | The name of the database |
| catalog | Unused. Always "def" |
| max_length | The 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.
|
| 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 for numeric fields, and the fractional seconds precision for temporal fields. |
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 */
while ($finfo = $result->fetch_field()) {
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\n", $finfo->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 fields */
while ($finfo = mysqli_fetch_field($result)) {
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\n", $finfo->type);
}
mysqli_free_result($result);
}
/* close connection */
mysqli_close($link);
?>The above examples will output:
Name: Name Table: Country max. Len: 11 Flags: 1 Type: 254 Name: SurfaceArea Table: Country max. Len: 10 Flags: 32769 Type: 4