PHP 5: syntax complet de mysqli_fetch_object()

Résolu
<code php>
Bonjour,
je suis entrain de faire quelques requêtes de SELECT que j'aimerai afficher dans un tableau. j'ai établi ma connexion avec la base de données et effectué la requête, malheureusement seuls les entêtes des colonnes s'affichent suivi de ce message d'erreur: Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, object given in C:\wamp\www\projet\selectEns.php on line 42. j'ai tenté plusieurs astuces à ma connaissance, mais toujours même résultat même erreur! si vous avez une idée si possible dépannez-moi. je mets ici le bout de mon code:

<?php
require_once "connexionBDD.php";
$listenseignant="SELECT code_enseignant
,nom_enseignant
,fonction_enseignantt
,numero_telephone
FROM enseignant";
mysqli_query($bdd,$listenseignant) or die("Echec d'affichage! ".)

if($retour= mysqli_query($bdd,$listenseignant)){
{
echo"Tous les enseignants enregistrés<br>";
echo"<table border=1>";
echo"<tr>";
echo"<td>Code</td> ";
echo"<td>Nom</td> ";
echo"<td>Fonction</td> ";
echo"<td>N° Télephone</td> ";
echo"</tr>";
}
// Pour affichage
while($donnees= mysqli_fetch_object($bdd,$listenseignant)){

echo"<tr>";
echo"<td>$donnees->code_enseignant</td>";
echo"<td>$donnees->nom_enseignant</td>";
echo"<td>$donnees->fonction_enseignant</td>";
echo"<td>$donnees->numero_telephone</td>";
echo"</tr>";
}
/* Libération du jeu de résultats */
mysqli_free_result($retour);
}
mysqli_close($bdd);

?>



--
Scott</code>

4 réponses

  1. Salut,

    Essaye comme ceci :
    <?php
    require_once "connexionBDD.php";
    
    $listenseignant="SELECT code_enseignant
    ,nom_enseignant
    ,fonction_enseignantt
    ,numero_telephone
    FROM enseignant";
    
    $retour = mysqli_query($bdd, $listenseignant);
    if (!$retour) {
    	printf("Message d'erreur : %s\n", mysqli_error($bdd));
    } else {
    	echo"Tous les enseignants enregistrés<br>";
    	echo"<table border=1>";
    	echo"<tr>";
    	echo"<td>Code</td> ";
    	echo"<td>Nom</td> ";
    	echo"<td>Fonction</td> ";
    	echo"<td>N° Télephone</td> ";
    	echo"</tr>";
    	
    	// Pour affichage
    	while($donnees= mysqli_fetch_object($bdd,$listenseignant)) {
    		echo"<tr>";
    		echo"<td>$donnees->code_enseignant</td>";
    		echo"<td>$donnees->nom_enseignant</td>";
    		echo"<td>$donnees->fonction_enseignant</td>";
    		echo"<td>$donnees->numero_telephone</td>";
    		echo"</tr>";
    	}
    	
    	/* Libération du jeu de résultats */
    	mysqli_free_result($retour);
    }
    
    mysqli_close($bdd);
    


    Bonne journée
    1. Bonjour, j'ai essayé mais le même message d'erreur revient. alors j'ai un peu isolé la requête pour faire un test, comme ceci:

      $donnees= mysqli_fetch_object($bdd,$listenseignant);
      if(!$donnees){
      printf("Message d'erreur : %s\n", mysqli_errno($bdd));
      et voilà là je reçoit le message d'erreur:
      Message d'erreur : 0, mais le message précédent est toujour là: Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, object given in C:\wamp\www\projet\selectEns.php on line 37
      1. L'erreur indique que ta requête sql ne s'est pas exécutée correctement, du coup il faudrait plutôt afficher le message d'erreur après l'appel de mysqli_query (cf. mon précédent message) :
        $retour = mysqli_query($bdd, $listenseignant);
        if (!$retour) {
         printf("Message d'erreur : %s\n", mysqli_error($bdd));
        }
        


        Ce message d'erreur devrait surement indiquer que le champ fonction_enseignantt n'existe pas (deux t à la fin).
      2. Vrai, le message d'erreur a indiqué fonction_enseignantt comme tu l'as dit, et j'avais corrigé, mais sans succès.
    2. J'ai reussi, ça passe maintenant. je mets ici le code qui passa:

      <?php
      require_once "connexionBDD.php";

      $sql="SELECT code_enseignant,nom_enseignant FROM enseignant ORDER BY code_enseignant";

      if ($result=mysqli_query($bdd,$sql))
      {
      while ($obj=mysqli_fetch_object($result))
      {
      printf("%s (%s)\n",$obj->code_enseignant,$obj->nom_enseignant);
      }
      // Free result set
      mysqli_free_result($result);
      }

      mysqli_close($bdd);
      ?>