Fonction PHP mysqli_fetch_object ()

Définition et utilisation

Un objet résultat PHP (de la classe mysqli_result) représente le résultat MySQL, retourné par les requêtes SELECT ou, DESCRIBE ou, EXPLAIN.

La fonction mysqli_fetch_object () accepte un objet de résultat en tant que paramètre et, récupère le contenu de la ligne courante dans le résultat donné et le renvoie comme un objet.

Syntaxe

mysqli_fetch_object($result, [$class_name, $params]);

Paramètres

Sr.Non Paramètre et description
1

result(Mandatory)

Il s'agit d'un identifiant représentant un objet de résultat.

2

class_name(Optional)

Le nom de la classe à instancier, définir les propriétés et renvoyer.

3

params(Optional)

Un tableau représentant les paramètres facultatifs.

Valeurs de retour

La fonction PHP mysqli_fetch_object () renvoie un objet (avec des propriétés de chaîne) qui contient la ligne courante de l'objet résultat. Cette fonction renvoie NULL s'il n'y a plus de lignes.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation de la fonction mysqli_fetch_object () (dans le style procédural) -

<?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);
?>

Cela produira le résultat suivant -

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

Exemple

Dans le style orienté objet, la syntaxe de cette fonction est $ result-> fetch_object (); Voici l'exemple de cette fonction dans le style orienté objet $ 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();
?>

Cela produira le résultat suivant -

Table Created.....
Name: Raju
Age: 25
Name: Rahman
Age: 30