Pb mysql_fetch_array

Fermé
coin - 16 mars 2005 à 20:08
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 18 mars 2005 à 05:09
bonjour a tous!!
voila j'ai creer une page didentification mais lorsque je m'identifie un message d'erreur s'affiche et je n'arrive pas à comprendre ce problème.
voici le message :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL

voici mon code :

mysql_select_db("bd2_rat", $base);
$Req_login="SELECT 'pseudo', 'mdp' FROM 'volontaire' WHERE 'pseudo' = ".$pseudo.";";
$resul=mysql_query($Req_login, $base);
$q = mysql_fetch_array($resul,MYSQL_ASSOC)

le probleme se trouve à la derniere ligne

merci beaucoup pour votre aide

2 réponses

Bonsoir,

C'est parce que ta requête ne fonctionne pas.
Essaie avec :
"SELECT 'pseudo', 'mdp' FROM 'volontaire' WHERE 'pseudo' = '".$pseudo."';";  /* Les guillemets pour la valeur du champs pseudo... */
0
ca ne marche pas plus :'(

ca marche pr le pseudo et le mot de passe de l'admin :

if ($pseudo=="koko") //pseudo administrateur
{
if ($mdp=="coco") //mot de passe administrateur
{
header('location: http://127.0.0.1/blabla); //renvoyer sur une autre page
}
else
{

echo "<font color =#99cccc>"."vous n'avez pas le statut d'administrateur"."</font>";


mais pas pour un tilisateur beta :

if ($pseudo==$q['pseudo'])//entrer pseudo
{
//echo "erere";
if ($mdp==$q['mdp']) //entrer mdp
{
header('location: http://127.0.0.1/blablalalalal') } }
else
{
echo "<font color =#99cccc>"."Le pseudo ou le mot de passe que vous avez entré est incorrect"."</font>";
}

}
else
{
echo "<font color =#99cccc>"."Vous n'êtes pas inscrit(e) sur le site"."</font>";
}
0
coin > coin
17 mars 2005 à 12:47
j'avais oublié de mettre des cotes à $pseudo

===> 'pseudo' = '".$pseudo."'";

merci quand meme
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
18 mars 2005 à 05:09
$Req_login="SELECT 'pseudo', 'mdp' FROM 'volontaire' WHERE 
'pseudo' = ".$pseudo.";"; 



Les apostrophes sont inutilesdans le select , en les utilisant tu sélectionnes des chaines immédiates
example:
mysql> create table brol (f1 int, f2 int);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into brol values (1,2);
Query OK, 1 row affected (0.01 sec)

mysql> select 'f1', 'f2' from brol ;
Empty set (0.00 sec)

mysql> select f1, f2 from brol ;
+------+------+
| f1   | f2   |
+------+------+
|    1 |    2 |
+------+------+
1 row in set (0.00 sec)

mysql> select 'f1', 'f2'  ;
+----+----+
| f1 | f2 |
+----+----+
| f1 | f2 |
+----+----+
1 row in set (0.00 sec)


Par contre si $pseudo est (comme je le suppose une expression immédiate), il FAUT des apostrophes.
Pour ce que je pense de ce genre de code illisible,fatigant pour les yeux, sprintf n'est pas fait pour les chiens....

Johan
0