Funzione PHP mysqli_fetch_fields ()
Definizione e utilizzo
Un oggetto risultato PHP (della classe mysqli_result) rappresenta il risultato MySQL, restituito dalle query SELECT o, DESCRIBE o, EXPLAIN.
La funzione mysqli_fetch_fields () accetta un oggetto risultato come parametro e restituisce un array di oggetti, ciascuno dei quali rappresenta un campo nel risultato.
Sintassi
mysqli_fetch_fields($result);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | result(Mandatory) Questo è un identificatore che rappresenta un oggetto risultato. |
Valori restituiti
La funzione mysqli_fetch_fields () di PHP restituisce un array di oggetti in cui ogni oggetto contiene le informazioni di definizione di un campo nel risultato dato. Questa funzione restituisce FALSE in caso di nessuna informazione.
Gli oggetti della matrice restituita contengono le seguenti proprietà $ minus;
name
orgname
table
orgtable
max_length
length
charsetnr
flags
type
decimals
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 dimostra l'utilizzo della funzione mysqli_fetch_fields () (in stile procedurale) -
<?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 all the fields
$info = mysqli_fetch_fields($res);
foreach ($info as $ele) {
print("ID: ".$ele->name."\n");
print("First_Name: ".$ele->table."\n");
print("Last_Name: ".$ele->max_length."\n");
print("Place_Of_Birth: ".$ele->charsetnr."\n");
print("Country: ".$ele->flags."\n");
print("Country: ".$ele->type."\n");
print("\n");
}
//Closing the statement
mysqli_free_result($res);
//Closing the connection
mysqli_close($con);
?>
Questo produrrà il seguente risultato:
Table Created.....
Record Inserted.....
ID: ID
First_Name: myplayers
Last_Name: 1
Place_Of_Birth: 63
Country: 32768
Country: 3
ID: First_Name
First_Name: myplayers
Last_Name: 8
Place_Of_Birth: 33
Country: 0
Country: 253
ID: Last_Name
First_Name: myplayers
Last_Name: 10
Place_Of_Birth: 33
Country: 0
Country: 253
ID: Place_Of_Birth
First_Name: myplayers
Last_Name: 8
Place_Of_Birth: 33
Country: 0
Country: 253
ID: Country
First_Name: myplayers
Last_Name: 11
Place_Of_Birth: 33
Country: 0
Country: 253
Esempio
Nello stile orientato agli oggetti la sintassi di questa funzione è $ risultato-> fetch_fields (); 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';
//Executing the statement
$stmt->execute();
//Retrieving the result
$result = $stmt->get_result();
//Fetching all the rows as arrays
$info = $result->fetch_fields();
foreach ($info as $ele) {
print("ID: ".$ele->name."\n");
print("First_Name: ".$ele->table."\n");
print("Last_Name: ".$ele->max_length."\n");
print("Place_Of_Birth: ".$ele->charsetnr."\n");
print("Country: ".$ele->flags."\n");
print("Country: ".$ele->type."\n");
print("\n");
}
//Closing the statement
$stmt->close();
//Closing the connection
$con->close();
?>