Función PHP mysqli_stmt_result_metadata ()

Definición y uso

los mysqli_stmt_result_metadata() La función acepta un objeto de declaración preparado como parámetro y, si la declaración dada ejecuta una consulta SELECT (o cualquier otra consulta que devuelva un conjunto de resultados), (esta función) devuelve un objeto de metadatos que contiene información sobre el conjunto de resultados de la declaración dada.

Sintaxis

mysqli_stmt_result_metadata($stmt);

Parámetros

No Señor Descripción de parámetros
1

con(Mandatory)

Este es un objeto que representa una declaración preparada.

Valores devueltos

La función PHP mysqli_stmt_result_metadata () devuelve un objeto de metadatos en caso de éxito y falso en caso de error.

Versión PHP

Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función mysqli_stmt_result_metadata () (en estilo procedimental):

<?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("Table Created.....\n");

   //Retrieving the contents of the table
   $stmt = mysqli_prepare($con, "SELECT * FROM test");

   //Executing the statement
   mysqli_stmt_execute($stmt);

   //Retrieving the resultset metadata
   $metadata = mysqli_stmt_result_metadata($stmt);
   print_r(mysqli_fetch_fields($metadata));
 
   mysqli_free_result($metadata);

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

Esto producirá el siguiente resultado:

Table Created.....
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
        )

)

Ejemplo

En el estilo orientado a objetos, la sintaxis de esta función es $ stmt-> result_metadata (); A continuación se muestra el ejemplo de esta función en el estilo orientado a objetos $ 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';
   print("Records Inserted.....\n");

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

   //Retrieving the resultset metadata
   $metadata = $stmt->result_metadata();

   $field = $metadata->fetch_field();
   print("Field Name: ".$field->name);

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

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

Esto producirá el siguiente resultado:

Table Created.....
Records Inserted.....
Field Name: Name