Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3279 connectés 

  FORUM HardWare.fr
  Programmation

  PHP - Requete sur 2 champs dans une même table

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP - Requete sur 2 champs dans une même table

n°13866
Edwige
Posté le 12-02-2001 à 15:18:47  profilanswer
 

Je pensais que c'était simple, mais non, j'obtiens une erreur... HELP !!!
En gros, je veux savoir si l'utilisateur a entré le bon mot de passe...
 
$requete = mysql_query("SELECT * FROM login_tbl WHERE password = '$password' AND login ='$login'" );
$resultat = mysql_numrows($requete);
 
J'obtiens le message d'erreur:
Warning:  0 is not a MySQL result index in c:\autres\logiciels\quickphp\www\booksmart\frame_verification_inscription.php3 on line 22

mood
Publicité
Posté le 12-02-2001 à 15:18:47  profilanswer
 

n°13884
Mr Half-Li​fe
Posté le 12-02-2001 à 16:23:24  profilanswer
 

Tu es tombé sur une erreur toute conne! ;)
 
Tu as mis tes 2 variables $password et $login entre guillemets simples! Le moteur de php va donc interpréter ceci en envoyant comme valeurs à Mysql les chaines de caractèeres '$password' et '$login' et non leurs valeurs respectives! Tu mes suis? :)
C'est donc normal que Mysql ne renvoie aucun résultat (ça m'étonnerai que qqun s'amuse à s'appeller $login! :)).
 
Pour que php envoie les valeurs de $password et $login, il faut que tu les mettes entre doubles guillemets. C'est tout! ;)
 
Le fait que les variables soient prises comme chaine de caractères ou non, ça a un nom... mais j'ai oublié! :)
 
Sinon dernière chose, fait un test pour voir si Mysql renvoie qqchose avant d'utiliser le résultat! ;)


---------------
Mr.Half-Life
n°13887
Mr Half-Li​fe
Posté le 12-02-2001 à 16:31:57  profilanswer
 

Attends je t'ai dit une connerie! :D
Enfin c'est vrai mais c'est pas ton cas!!
Les guillemets de $password et $login sont utilisés par Mysql et envoyés seulement par php! Il faut donc que Php les ignore et c'est que tu devais penser en ayant mis les guillemets simples! Mais en fait tu dois mettre \", ce qui donne :
 
$requete = mysql_query("SELECT * FROM login_tbl WHERE password = \"$password\" AND login =\"$login\"" );


---------------
Mr.Half-Life
n°13939
M@nu
Posté le 12-02-2001 à 19:59:53  profilanswer
 

ben...je suis pas sur que ce soit ça l'erreur...
Moi j'ai des requêtes avec : WHERE id='$id' qui marchent parfaitement...
 
(Je sais pas si ça a une grande importance, mais essaie d'enlever les espaces entre password et = et idem pour login...)
 
Autrement ben...y'a pas d'erreur à mes yeux...

n°13949
Roswell_
Posté le 12-02-2001 à 20:42:44  profilanswer
 

ouai vire les espaces chez moi je fais pareil que toi et ça marche impeck


---------------
http://www.cheata.net le site qui vous donne la banane!
n°14118
omega2
Posté le 13-02-2001 à 15:24:09  profilanswer
 

EDWIGE a écrit a écrit :

Je pensais que c'était simple, mais non, j'obtiens une erreur... HELP !!!
En gros, je veux savoir si l'utilisateur a entré le bon mot de passe...
 
$requete = mysql_query("SELECT * FROM login_tbl WHERE password = '$password' AND login ='$login'" );
$resultat = mysql_numrows($requete);
 
J'obtiens le message d'erreur:
Warning:  0 is not a MySQL result index in c:\autres\logiciels\quickphp\www\booksmart\frame_verification_inscription.php3 on line 22




La requête semble bonne. Je pense qu'en fait elle ne retourne pas de valeur et un peu plus loin dans le code, tu cherche les valeurs de la première ligne retournée. Au fait, qu'y a t'il à la ligne 22 de ton code. Je te le demande car c'est sur cette ligne que l'erreur apparaît.

n°14143
Zebra3
Posté le 13-02-2001 à 16:36:47  profilanswer
 

ta requête semble bonne... :??: tu es sûr de pas t'être trompé dans les noms de champs / de table ?
par ailleurs la syntaxe c mysql_num_row() et pas mysql_numrows !
(mais c pas ça le pb au vu de ton erreur)

n°14202
stef_dober​mann
Personne n'est parfait ...
Posté le 13-02-2001 à 23:30:46  profilanswer
 

moi je suis de l'avis de omega2, ta requette est bonne mais ya rien en réponse essai de mettre  
$qte = mysql_numrows($requete)
if ($qte!=0){
//ton code
}
else {
  echo "c vide";
}
 
avec ca tu n'aura plus d'erreur :lol:
j'ai eu le même pb...


---------------
Tout à commencé par un rêve...
n°14366
Zebra3
Posté le 14-02-2001 à 18:01:17  profilanswer
 

SteF_DOBERMANN>vu le message d'erreur retourné pas MySQL c un pb de syntaxe de la requête et pas un pb parce que la requête ne renvoie aucun résultat.
d'ailleurs y'a encore + simple pr ton code pr éviter les erreurs :
$qte = mysql_numrows($requete)  
if (!$qte){  
//ton code  
}  
....

n°14508
omega2
Posté le 15-02-2001 à 14:59:35  profilanswer
 

Zebra3 a écrit a écrit :

SteF_DOBERMANN>vu le message d'erreur retourné pas MySQL c un pb de syntaxe de la requête et pas un pb parce que la requête ne renvoie aucun résultat.
d'ailleurs y'a encore + simple pr ton code pr éviter les erreurs :
$qte = mysql_numrows($requete)  
if (!$qte){  
//ton code  
}  
....




Correction, le message d'erreur ne vient pas de mysql mais du serveur php.  
Si tu lis bien le message d'erreur, il donne le chemin du fichier php or mysql ne connait pas le nom du fichier php exécuté. Mysql ne connait que le programme appellant (en général le serveur html), la requête à exécuter et les données de la base.
Quand mysql affiche un message d'erreur, il donne au moins la ligne de la requête où se situe l'erreur et souvant la partie de la requête qui se situe après l'erreur afin de premêtre une recherche plus rapide du problème.
A+.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  PHP - Requete sur 2 champs dans une même table

 

Sujets relatifs
[Perl ou Php] Comment tester l'existence d'une url ???[PHP] problème include ...
configuration pour PHPFormulaire HTML (PHP?)
Erreur fonction PHP strpos[PHP] tronquer un long mot dans une chaine...
ASP CFML PHP : petit sondage !PHP Fonction Mail... Config ??
[PHP] variable et liens[PHP] : Compteur / Lanceur de D/L
Plus de sujets relatifs à : PHP - Requete sur 2 champs dans une même table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR