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