Message d'erreur même ci la requete est bonne

aa -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour
J'ai un problème dans mon code code qui peut m'aider s'il vous plait je ne comprendre pas pourquoi cette erreur meme si ma requette est bonne

  <?php
  //connection au serveur:
  $cnx = mysqli_connect( "localhost", "root", "" ) ;
 
  //sélection de la base de données:
  $db  = mysqli_select_db( $cnx,"pst" ) ;
 
  //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement on veuxmodifier
  $id = !empty($_GET["id"] ) ? $_GET["id"]  : 0;

 // echo 'id est : '.$id.'<br>' ;

  //requête SQL:
  $sql = "SELECT *
            FROM fiche_prjprincipale
	    WHERE id_FPP = ".$id;
 
  //exécution de la requête:
  $requete = mysqli_query($cnx,$sql);
echo("id=".$id."<br>");
  //affichage des données:
  if($result=mysqli_fetch_assoc($requete))
  {
  ?>
                           <br><br>

  <div class="divform1">
<div>
<form name="affichage" action="#" method="POST">
<br>
  <input type="hidden" name="id" value="<?php echo($id) ;?>">


  <table border="0" align="center" cellspacing="2" cellpadding="2">
  
  
                        //du code 
			<?php
  }//fin if 

 
// a partir d'ici

//requete marche bien dans sql quand je fais un exemple d'un exemple " where  id_projet=188 il me retourne bien le resultat "

$sqll = "select distinct nom_intervenant as nom, id_projet,id_interv,type_intervenant
from intervenant join fiche_inter join fiche_prjprincipale
where  id_projet=".$id."
and type_intervenant = 'responsable'";

//test 0
echo("<br> TEST 0 PASSE <br><br>");

 var_dump($sqll);
 
 //exécution de la requête:
  $requetee = mysqli_query($cnx,$sqll);

  //test 1
   echo("<br><br> TEST 1 PASSE<br><br>");
  echo $sqll;

  //test 2
  echo("<br><br>TEST 2 PASSE<br><br>");
  

 // echo" la requete est ";
  if($resultt=mysqli_fetch_assoc($requetee))
  

  //test 3 ne passe pas
  {   echo("<br><br> TEST 3 PASSE <br><br>");

  var_dump($resultt);

echo("<br><br> TEST 4 PASSE <br><br>");
  $id=$row["idd"];

 echo "iddddd=<br><br>".$id;
} 

//il m'affiche cette ligne "ereur"
else echo "<gras>ERREUR</gras>"; 
?>
 

<!--
  //affichage des données:
  if($resultt=mysqli_fetch_assoc($requetee))
  {
  ?>
   <tr align="center">
            <td><label for="responsables"><strong>Responsables du projet :</strong></label></td>
             <td><p  style="border:1px solid black ; background:#FFF; height:20px; width:170px" ><?php echo $resultt["nom"]?></p></td>
            </tr>*/
 -->
					   
					   
					   
  </table>
  <br>
  		<a  href="javascript:window.print()">Imprimer cette page</a>

</form>
</div>
</div>
</body>
</html>


il m'affiche les messages suivants j'ai essayé de faire le max des test pour définir d'ou vient l'erreur mais je n'ai pas réussi


TEST 0 PASSE

string(196) "select distinct nom_intervenant as nom, id_projet,id_interv,type_intervenant from intervenant join fiche_inter join fiche_prjprincipale where id_projet=147 and type_intervenant = 'responsable'"

TEST 1 PASSE

select distinct nom_intervenant as nom, id_projet,id_interv,type_intervenant from intervenant join fiche_inter join fiche_prjprincipale where id_projet=147 and type_intervenant = 'responsable'

TEST 2 PASSE

ERREUR


je vous remercie beaucoup et bonne journée

4 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Avec le message d'erreur... peut-être pourrons nous te dire quel est le souci....
    1
    1. aa
       
      bonjour,
      il m'affiche le
       echo 'erreur' 
      donc il passe directement au
       else
      le
       if
      ne passe pas

      je n'est pas un message d'erreur exact mais c'est personnalisé :
      else echo 'erreur'


       if($resultt=mysqli_fetch_assoc($requetee))
        
      
        //test 3 ne passe pas
        {   echo("<br><br> TEST 3 PASSE <br><br>");
      
        var_dump($resultt);
      
      echo("<br><br> TEST 4 PASSE <br><br>");
        $id=$row["idd"];
      
       echo "iddddd=<br><br>".$id;
      } 
      
      //il m'affiche cette ligne "ereur"
      else echo "<gras>ERREUR</gras>"; 
      ?>
      

      je peux dire le probleme est au
      ($resultt=mysqli_fetch_assoc($requetee)
      , mais pourquoi ! je ne sais pas ! d'apres vos experiences on peut avoir un probleme avc
      ($resultt=mysqli_fetch_assoc($requetee)
      a cause de quoi ! s'il vous plait
      merci
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    remplace :
      if($resultt=mysqli_fetch_assoc($requetee))
    


    par :
    $resultt=mysqli_fetch_assoc($requetee);
    print_r($resultt);
    
    if($result)
    
    

    0
    1. aa
       
      merci
      je trouve le même message "ERREUR"
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      mais rien ne s'affiche ??
      le print_r ne donne rien ??
      0
    3. aa
       
      non ne m'affiche rien
      voila c'est le meme affichege d'avant j ai meme redemaré mon serveur

      TEST 0 PASSE 

      string(196) "select distinct nom_intervenant as nom, id_projet,id_interv,type_intervenant from intervenant join fiche_inter join fiche_prjprincipale where id_projet=147 and type_intervenant = 'responsable'"

      TEST 1 PASSE


      select distinct nom_intervenant as nom, id_projet,id_interv,type_intervenant from intervenant join fiche_inter join fiche_prjprincipale where id_projet=147 and type_intervenant = 'responsable'

      TEST 2 PASSE

      erreur


      je crois parceque le
      $resultt=mysqli_fetch_assoc($requetee)

      il reste bloqué dans cette ligne !!?
      donc il passe pas a l'affichage apres
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Tu as testé ta requête EN DIRECT dans ta BDD ?
      Tu m'en fais une capture écran ?
      0
    5. aa
       
      oui avec plaisir
      0
  3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Teste ça :

     <?php
     //Affichage des erreurs php
     error_reporting(E_ALL);
     
     //connexion à la BDD 
       $cnx = mysqli_connect( "localhost", "root", "" ) ;
      if (!$cnx) {
        echo 'Erreur de connexion (' . mysqli_connect_errno() . ') ' . mysqli_connect_error();
       }
       mysqli_select_db( $cnx,"pst" ) ;
     
     
      //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement on veuxmodifier
      $id = !empty($_GET["id"] ) ? $_GET["id"]  : 0;
    
     // echo 'id est : '.$id.'<br>' ;
    
      //requête SQL:
      $sql = "SELECT *
                FROM fiche_prjprincipale
         WHERE id_FPP = '$id'";
     
      //exécution de la requête:
      $requete = mysqli_query($cnx,$sql) or die(mysqli_error($cnx));
    
      //affichage des données:
      if($result=mysqli_fetch_assoc($requete)) {
      ?>
         <br><br>
         <div class="divform1"><div>
         <form name="affichage" action="#" method="POST">
          <br>
          <input type="hidden" name="id" value="<?php echo($id) ;?>">
          <table border="0" align="center" cellspacing="2" cellpadding="2">
            //du code 
     
     <?php
      }//fin if 
    
     
     $sqll = "SELECT distinct nom_intervenant as nom, id_projet,id_interv,type_intervenant
              FROM intervenant join fiche_inter join fiche_prjprincipale
              WHERE  id_projet='$id'
              AND type_intervenant = 'responsable'";
    
    
       
    
      //exécution de la requête:
      $requetee = mysqli_query($cnx,$sqll) or die(mysqli_error($cnx));
    
      // echo" la requete est ";
      $resultt=mysqli_fetch_assoc($requetee);
     
       //le temps des tests     
      echo "<br><br> RESULTAT :<br>";
     var_dump($resultt);
      
     if($resultt){
        echo("<br><br> TEST 4 PASSE <br><br>");
        $id=$row["idd"];
        echo "id =>".$id;
      }else{
      echo "<br><b>Erreur !</b> Aucun résultat retounré par la requête ....";
        echo "<br><br> REQUETE<br><br>".$sqll;  //le temps des tests 
      }  
      ?>
        
      </table>
      <br>
      <a  href="javascript:window.print()">Imprimer cette page</a>
    </form>
    </div>
    </div>
    </body>
    </html>
    


    Cordialement, 
    Jordane                                                                 
    0
    1. aa
       

      RESULTAT :
      NULL
      Erreur ! Aucun résultat retounré par la requête ....

      REQUETE

      SELECT distinct nom_intervenant as nom, id_projet,id_interv,type_intervenant FROM intervenant join fiche_inter join fiche_prjprincipale WHERE id_projet='2' AND type_intervenant = 'responsable'
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > aa
         
        Tu peux utiliser la requête qui est ta reponse précédente et la tester directement dans ta bdd ?
        Je pense qu'elle ne retourne aucun resultat...
        donc ce n'est pas un souci dans le code.... mais bel et bien dans ta requête sql
        0
  4. Nouvelle_Informaticienne Messages postés 173 Statut Membre 3
     
    voici l imprime d ecran la requete s execute normalement dans sql

    0