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

Résolu/Fermé
Mary - 15 janv. 2009 à 20:01
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 - 15 janv. 2009 à 21:26
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 ...
A voir également:

5 réponses

muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 42
15 janv. 2009 à 20:08
salut
c'est surement que ta oublié une ligne juste aprés $requete = ...................

mysql_fetch_array($requete);
0
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
Ben si, dans mon while oO
0
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
15 janv. 2009 à 20:25
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 janv. 2009 à 20:28
<?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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Smoking bird Messages postés 870 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 10 juillet 2011 58
15 janv. 2009 à 21:26
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