PHP - Problème récupération données d'une BDD

Résolu
Mary -  
Smoking bird Messages postés 911 Statut Membre -
Bonjour,

Je suis complètement désespérée. Pour une raison que j'ignore, je ne parviens pas à afficher le résultat d'une recherche dans ma BDD. Voici mon bout de code :

$login2=$_POST["log_recup"];
$mail2=$_POST["mail_recup"];
if(!mysql_connect("localhost","root","mysql")){
echo "Connexion impossible";
exit();
}
else {
echo "pouet";
mysql_select_db('site');
$requete = "SELECT * FROM utilisateurs WHERE login='.$login2.'";
$valeur = mysql_query($requete);
while($tableau = mysql_fetch_array($valeur)){
echo "AAAAAAAAAAAAARG";
echo $donnees['num_etudiant'];
}
}

Je n'y comprends rien du tout. J'ai testé mes variables login2 et mail2, les données sont bien récupérées de ma page html. On rentre bien dans le esle vu que "pouet" est affiché (on sent le ras le bol ...). Par contre, "AAAAAAAAAAAARG" ne s'affiche pas, donc on n'entre pas dans le while ... Sauf que je ne comprends absolument pas pourquoi. La requête s'exécute bien, j'ai affiché valeur (truc id#3) ...

Si vous avez une idée, je suis preneuse !!

Merci d'avance ...
Configuration: Windows Vista
Firefox 3.0.1

5 réponses

  1. muska92 Messages postés 317 Statut Membre 42
     
    salut
    c'est surement que ta oublié une ligne juste aprés $requete = ...................

    mysql_fetch_array($requete);
    0
  2. Mary
     
    Zut j'ai oublié de changer la ligne echo $donnees['num_etudiant']; en echo $tableau['num_etudiant']; mais ça ne change rien à mon souci ...
    0
  3. Mary
     
    Ben si, dans mon while oO
    0
    1. Smoking bird Messages postés 911 Statut Membre 58
       
      t'as affiché une erreur :D

      sûrement dûe à ça:

      $requete = "SELECT * FROM utilisateurs WHERE login='.$login2.'";

      des points de concaténation? ici? pour quoi faire? retire les et dis nous^^

      PS: $query=mysql_query($sql) or die(mysql_error());

      ça t'aidera dans tes debugs
      0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    <?php
    
    $login2=$_POST["log_recup"];
    $mail2=$_POST["mail_recup"];
    //une petite verif
    echo "Login reçu: ".$login2;
    // une methode plus simple et plus efficace pour debugger avec trace des erreurs mysql
    mysql_connect("localhost","root","mysql") or die ("Pb connexion serveur ".mysql_error());
    mysql_select_db('site')or die ("Pb selection base ".mysql_error());
    
    $requete = "SELECT * FROM utilisateurs WHERE login='".$login2."'";
    $reponse = mysql_query($requete)or die ("Pb avec la requette ".mysql_error());
    //on va voir si il y a des réponses
    $nbr_reponses=mysql_num_rows($reponse);
    echo "Il y a :".$nbr_reponses. "reponse(s)";
    
    //affichage
    while($ligne = mysql_fetch_array($reponse)){
    	echo $ligne['num_etudiant']; //tu as bien le champ num_etudiant dans ta table utilisateurs
    }
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mary
     
    Pourquoi mettre des points ? Parce que mon prof m'a dit de les mettre ... -_-

    Donc évidemment, vous vous en doutez, ça marche là .......

    Merci beaucoup ^^ *se sent plus que ridicule*
    0
    1. Smoking bird Messages postés 911 Statut Membre 58
       
      mdr te sens pas ridicule :D les profs sont pas infaillibles^^
      C'est une erreur qui peut être commune, donc aucune honte à avoir. N'oublis pas que ça concerne la concaténation les points avec les ' ou ", renseigne toi sur la question pour mieux comprendre l'idée^^
      0