• PHP Video Tutorials

PHP mysqli_fetch_field_direct() Function



Definition and Usage

A PHP result object (of the class mysqli_result) represents the MySQL result, returned by the SELECT or, DESCRIBE or, EXPLAIN queries.

The mysqli_fetch_field_direct() function accepts a result object and an integer representing a field number as parameters and returns the definition information of the specified column/field in the form of an object.

Syntax

mysqli_fetch_field_direct($result, $field);

Parameters

Sr.No Parameter & Description
1

result(Mandatory)

This is an identifier representing a result object.

2

field(Mandatory)

An integer value representing the field for which you need the metadata/definition-information.

Return Values

The PHP mysqli_fetch_field_direct() function returns an object containing the definition information of the specified field. This function returns FALSE in case the specified field (number) is not available.

The object returned contains following properties $minus;

  • name

  • orgname

  • table

  • orgtable

  • max_length

  • length

  • charsetnr

  • flags

  • type

  • decimals

PHP Version

This function was first introduced in PHP Version 5 and works works in all the later versions.

Example

Following example demonstrates the usage of the mysqli_fetch_field_direct() function (in procedural style) −

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Table Created.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
   print("Record Inserted.....\n");

   //Retrieving the contents of the table
   $res = mysqli_query($con, "SELECT * FROM myplayers");

   //Fetching the metadata of 3rd field
   $info = mysqli_fetch_field_direct($res, 2);

   print("Name: ".$info->name."\n");
   print("Table: ".$info->table."\n");
   print("Max Length: ".$info->max_length."\n");
   print("Flags: ".$info->flags."\n");
   print("Type: ".$info->type."\n");
   print("Definition: ".$info->def."\n");
   print("Character Set: ".$info->charsetnr."\n");

   //Closing the statement
   mysqli_free_result($res);

   //Closing the connection
   mysqli_close($con);
?>

This will produce following result −

Table Created.....
Record Inserted.....
Name: Last_Name
Table: myplayers
Max Length: 10
Flags: 0
Type: 253

Example

In object oriented style the syntax of this function is $result->fetch_field_direct(); Following is the example of this function in object oriented style $minus;

<?php
   //Creating a connection
   $con = new mysqli("localhost", "root", "password", "mydb");

   $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
   print("Table Created.....\n");

   $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';

   //Executing the statement
   $stmt->execute();

   //Retrieving the result
   $result = $stmt->get_result();

   //Fetching the metadata of 2nd field
   $info = $result->fetch_field_direct(1);

   print("Name: ".$info->name."\n");
   print("Table: ".$info->table."\n");
   print("Max Length: ".$info->max_length."\n");
   print("Flags: ".$info->flags."\n");
   print("Type: ".$info->type."\n");
   print("Definition: ".$info->def."\n");
   print("Character Set: ".$info->charsetnr."\n");

   //Closing the statement
   $stmt->close();

   //Closing the connection
   $con->close();
?>

This will produce following result −

Table Created.....
Name: AGE
Table: Test
Max Length: 0
Flags: 32768
Type: 3
Definition:
Character Set: 63
php_function_reference.htm
Advertisements