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