PHP mysqli fetch_fields() Function

❮ PHP MySQLi Reference

Example - Object Oriented style

Return an array of objects that represent the fields in a 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
  $fieldinfo = $result -> fetch_fields();

  foreach ($fieldinfo as $val) {
    printf("Name: %s\n", $val -> name);
    printf("Table: %s\n", $val -> table);
    printf("Max. Len: %d\n", $val -> max_length);
  }
  $result -> free_result();
}

$mysqli -> close();
?>

Look at example of procedural style at the bottom.


Definition and Usage

The fetch_fields() / mysqli_fetch_fields() function returns an array of objects that represent the fields in a result-set.


Syntax

Object oriented style:

$mysqli_result -> fetch_fields()

Procedural style:

mysqli_fetch_fields(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 array of objects containing field definition information. FALSE if no info is available. The objects have 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)
  • 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 an array of objects that represent the fields in a 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
  $fieldinfo = mysqli_fetch_fields($result);

  foreach ($fieldinfo as $val) {
    printf("Name: %s\n", $val->name);
    printf("Table: %s\n", $val->table);
    printf("Max. Len: %d\n", $val->max_length);
  }
  mysqli_free_result($result);
}

mysqli_close($con);
?>


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