Funzione PHP mysqli_stmt_result_metadata ()
Definizione e utilizzo
Il mysqli_stmt_result_metadata() funzione accetta un oggetto istruzione preparato come parametro e, se l'istruzione data esegue una query SELECT (o qualsiasi altra query che restituisce un gruppo di risultati), (questa funzione) restituisce un oggetto di metadati che contiene informazioni sul gruppo di risultati dell'istruzione data.
Sintassi
mysqli_stmt_result_metadata($stmt);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | con(Mandatory) Questo è un oggetto che rappresenta un'istruzione preparata. |
Valori restituiti
La funzione mysqli_stmt_result_metadata () di PHP restituisce un oggetto metadati in caso di successo e false in caso di fallimento.
Versione PHP
Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.
Esempio
L'esempio seguente mostra l'utilizzo della funzione mysqli_stmt_result_metadata () (in stile procedurale) -
<?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);
?>
Questo produrrà il seguente risultato:
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
)
)
Esempio
Nello stile orientato agli oggetti la sintassi di questa funzione è $ stmt-> result_metadata (); Di seguito è riportato l'esempio di questa funzione nello stile orientato agli oggetti $ 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();
?>
Questo produrrà il seguente risultato:
Table Created.....
Records Inserted.....
Field Name: Name