English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Basic PHP Tutorial

Advanced PHP Tutorial

PHP & MySQL

PHP Reference Manual

PHP mysqli_stmt_result_metadata() Function Usage and Example

PHP MySQLi Reference Manual

The mysqli_stmt_result_metadata() function returns the result set metadata from the prepared statement.

Definition and Usage

mysqli_stmt_result_metadata()The function accepts a prepared statement object as a parameter, and if the given statement executes a SELECT query (or any other query that returns a result set), it (this function) returns a metadata object that contains information about the result set of the given statement.

Syntax

mysqli_stmt_result_metadata($stmt);

Parameter

Serial NumberParameters and Description
1

con(Required)

This is the object representing the prepared statement.

Return value

The PHP mysqli_stmt_result_metadata() function returns a metadata object on success, and returnsfalse.

PHP version

This function was originally introduced in PHP version5introduced and can be used in all higher versions.

Online Example

The following examples demonstratemysqli_stmt_result_metadata()Usage of Function (Procedural Style)-

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE test(Name VARCHAR(255), age INT);
   mysqli_query($con, "INSERT INTO test values('Raju', 25);
   mysqli_query($con, "INSERT INTO test values('Jonathan', 30));
   print("Creating table.....\n");
   //Retrieve the content of the table
   $stmt = mysqli_prepare($con, "SELECT * FROM test);
   //Execute statement
   mysqli_stmt_execute($stmt);
   //Retrieve result set metadata
   $metadata = mysqli_stmt_result_metadata($stmt);
   print_r(mysqli_fetch_fields($metadata));
 
   mysqli_free_result($metadata);
   //Close connection
   mysqli_close($con);
?>

Output result

Creating table.....
Array
(
    [0] => stdClass Object
        (
            [name] => Name
            [orgname]  =>  Name
            [table]  =>  test
            [orgtable]  =>  test
            [def]  =>
            [db]  =>  mydb
            [catalog]  =>  def
            [max_length]  =>  0
            [length]  => 765
            [charsetnr]  => 33
            [flags]  =>  0
            [type]  => 253
            [decimals]  =>  0
        )
    [1]  =>  stdClass  Object
        (
            [name]  =>  AGE
            [orgname]  =>  AGE
            [table]  =>  test
            [orgtable]  =>  test
            [def]  =>
            [db]  =>  mydb
            [catalog]  =>  def
            [max_length]  =>  0
            [length]  => 11
            [charsetnr]  => 63
            [flags]  => 32768
            [type]  => 3
            [decimals]  =>  0
        )
)

Online Example

In object-oriented style, the syntax of this function is$stmt-> result_metadata();。Here is an example of this function in an object-oriented style;

<?php
   //Establish 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("Creating table.....\n");
   $stmt  =  $con ->  prepare(  "SELECT * FROM  Test  WHERE  Name  in(?,  ?)");
   $stmt ->  bind_param("ss",  $name1,  $name2);
   $name1 =  'Raju';
   $name2 =  'Rahman';
   print("Inserting record.....\n");
   //Execute statement
   $stmt->execute();
   //Retrieve result set metadata
   $metadata  =  $stmt->result_metadata();
   $field  =  $metadata->fetch_field();
   print("Field Name:  "+$field->name);
   //End statement
   $stmt->close();
   //Close connection
   $con->close();
?>

Output result

Creating table.....
Inserting record.....
Field Name:  Name

PHP MySQLi Reference Manual