PHP mysqli fetch_field() Function

❮ PHP MySQLi Reference

Example - Object Oriented style

Return the next field (column) in the result-set, then print each field's name, table, and max length:

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

if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";

if ($result = $mysqli -> query($sql)) {
  // Get field information for all fields
  while ($fieldinfo = $result -> fetch_field()) {
    printf("Name: %s\n", $fieldinfo -> name);
    printf("Table: %s\n", $fieldinfo -> table);
    printf("Max. Len: %d\n", $fieldinfo -> max_length);
  }
  $result -> free_result();
}

$mysqli -> close();
?>

Look at example of procedural style at the bottom.


Definition and Usage

The fetch_field() / mysqli_fetch_field() function returns the next field (column) in the result-set, as an object.


Syntax

Object oriented style:

$mysqli_result -> fetch_field()

Procedural style:

mysqli_fetch_field(result)

Parameter Values

Parameter Description
result Required. Specifies a result set identifier returned by mysqli_query(), mysqli_store_result() or mysqli_use_result()

Technical Details

Return Value: Returns an object containing field definition information. FALSE if no info is available. The object has the following properties:
  • name - name of the column
  • orgname - original column name (if an alias is specified)
  • table - name of table
  • orgtable - original table name (if an alias is specified)
  • def - reserved for default values, currently always ""
  • db - database (new in PHP 5.3.6)
  • catalog - catalog name, always "def" (since PHP 5.3.6)
  • max_length - maximum width of field
  • length - width of field as specified in table definition
  • charsetnr - character set number for the field
  • flags - bit-flags for the field
  • type - data type used for the field
  • decimals - for integer fields; the number of decimals used
PHP Version: 5+

Example - Procedural style

Return the next field (column) in the result-set, then print each field's name, table, and max length:

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit();
}

$sql = "SELECT Lastname, Age FROM Persons ORDER BY Lastname";

if ($result = mysqli_query($con, $sql)) {
  // Get field information for all fields
  while ($fieldinfo = mysqli_fetch_field($result)) {
    printf("Name: %s\n", $fieldinfo -> name);
    printf("Table: %s\n", $fieldinfo -> table);
    printf("max. Len: %d\n", $fieldinfo -> max_length);
  }
  mysqli_free_result($result);
}

mysqli_close($con);
?>


❮ PHP MySQLi Reference
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.