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

Résolu
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. salut
    c'est surement que ta oublié une ligne juste aprés $requete = ...................

    mysql_fetch_array($requete);
    1. Zut j'ai oublié de changer la ligne echo $donnees['num_etudiant']; en echo $tableau['num_etudiant']; mais ça ne change rien à mon souci ...
      1. Ben si, dans mon while oO
        1. 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
      2. <?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
        }
        1. 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*
          1. 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^^