Requete SQL
Résolu/Fermé
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
-
Modifié par Exileur le 31/10/2011 à 00:31
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 31 oct. 2011 à 13:26
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 31 oct. 2011 à 13:26
A voir également:
- Requete SQL
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Sql server recovery - Télécharger - Gestion de données
- Sql replace plusieurs valeurs - Forum Programmation
2 réponses
Bonjour
Si tu as ce message, c'est qu'il y a une erreur dans l'exécution de ta requête. Pour avoir un message un peu plus explicite, essaye :
$req = mysql_query('select password,id from users where username="'.$username.'"') or die(mysql_error());
Au passage, tu ferais mieux de mettre le nom ET le mot de passe, dans ton WHERE, ça t'éviterait d'avoir à tester le mot de passe séparément
$req = mysql_query('select id from users where username="'.$username.'" AND password="'.$password.'"') or die(mysql_error());
Toujours au passage, c'est une très bonne habitude d'utiliser mysql_real_escape_string sur toutes les données qui viennent de l'extérieur. Pourquoi ne le faire qu'à moitié et ne se pas protéger du mot de passe ?
Si tu as ce message, c'est qu'il y a une erreur dans l'exécution de ta requête. Pour avoir un message un peu plus explicite, essaye :
$req = mysql_query('select password,id from users where username="'.$username.'"') or die(mysql_error());
Au passage, tu ferais mieux de mettre le nom ET le mot de passe, dans ton WHERE, ça t'éviterait d'avoir à tester le mot de passe séparément
$req = mysql_query('select id from users where username="'.$username.'" AND password="'.$password.'"') or die(mysql_error());
Toujours au passage, c'est une très bonne habitude d'utiliser mysql_real_escape_string sur toutes les données qui viennent de l'extérieur. Pourquoi ne le faire qu'à moitié et ne se pas protéger du mot de passe ?
jojo673
Messages postés
210
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
9 avril 2014
44
31 oct. 2011 à 01:15
31 oct. 2011 à 01:15
Hmm normalement même si il n'y a pas de lignes retournées, le tableau devrait être vide, mais ne pas retourné d'erreur.
Il faudrait tester ce que contient la requête en faisant :
Il faudrait tester ce que contient la requête en faisant :
echo 'select password,id from users where username="'.$username.'"';Juste avant le mysql_fetch_array().
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
Modifié par Exileur le 31/10/2011 à 13:09
Modifié par Exileur le 31/10/2011 à 13:09
Salut,
j'ai fais echo "valeur de \$req : $req";
est j'obtiens : "Valeur de $req : "
La variable est donc null.
j'ai fais echo "valeur de \$req : $req";
est j'obtiens : "Valeur de $req : "
La variable est donc null.
31 oct. 2011 à 13:26
J'ai suivis tes instructions, et l'erreur retourner est "no database selected"...
Je vais me pendre...
Effectivement, j'ai oublier d'insérer la commande mysql_select_db dans mon fichier de config.
Magique, en sélectionnant ma DB, tout fonctionne parfaitement =D
Merci pour tes observations, je vais échappé ma variable password, ça serai bête d'avoir une faille xss aussi simple --'
Et faire la vérification login/pass en une seule fois.
Cordialement
Exileur