Funzione PHP mysqli_fetch_object ()
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_object () accetta un oggetto risultato come parametro e, recupera i contenuti della riga corrente nel risultato dato e li restituisce come oggetto.
Sintassi
mysqli_fetch_object($result, [$class_name, $params]);
Parametri
Suor n | Parametro e descrizione |
---|---|
1 | result(Mandatory) Questo è un identificatore che rappresenta un oggetto risultato. |
2 | class_name(Optional) Il nome della classe di cui istanziare, impostare le proprietà e restituire. |
3 | params(Optional) Un array che rappresenta i parametri facoltativi. |
Valori restituiti
La funzione mysqli_fetch_object () di PHP restituisce un oggetto (con proprietà stringa) che contiene la riga corrente dell'oggetto risultato. Questa funzione restituisce NULL se non ci sono più righe.
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_fetch_object () (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 rows as objects
while($obj = mysqli_fetch_object($res)){
print("ID: ".$obj->ID."\n");
print("First_Name: ".$obj->First_Name."\n");
print("Last_Name: ".$obj->Last_Name."\n");
print("Place_Of_Birth: ".$obj->Place_Of_Birth."\n");
print("Country: ".$obj->Country."\n");
}
//Closing the statement
mysqli_free_result($res);
//Closing the connection
mysqli_close($con);
?>
Questo produrrà il seguente risultato:
Table Created.....
Record Inserted.....
ID: 1
First_Name: Sikhar
Last_Name: Dhawan
Place_Of_Birth: Delhi
Country: India
ID: 2
First_Name: Jonathan
Last_Name: Trott
Place_Of_Birth: CapeTown
Country: SouthAfrica
ID: 3
First_Name: Kumara
Last_Name: Sangakkara
Place_Of_Birth: Matale
Country: Srilanka
Esempio
Nello stile orientato agli oggetti la sintassi di questa funzione è $ risultato-> fetch_object (); 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
while($obj = $result->fetch_object()){
print("Name: ".$obj->Name."\n");
print("Age: ".$obj->Age."\n");
}
//Closing the statement
$stmt->close();
//Closing the connection
$con->close();
?>
Questo produrrà il seguente risultato:
Table Created.....
Name: Raju
Age: 25
Name: Rahman
Age: 30