[PHP/MySQL] Requête correcte mais 0 résultat
Résolu
Siegels
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Siegels Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Siegels Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de mettre en place un espace membre sur mon site web.
Les comptes sont liés à un programme qui n'ets pas de mon ressort:
Les noms d'utilisateurs sont stockés en majuscules, et les mots de passe codés en SHA1 de cette maniere:
Mon problème: Dans le code suivant, il y a une requête SQL. Celle-ci fonctionne très-bien si je l'entre moi-même dans ma console MySQL, mais ici, elle retourne 0 en mysql_num_rows() :
Je n'ai pas tout mis, le "else" fait un header location vers ma page d'erreur.
mon $dbrealmd['valeur'] provient d'un array que j'ai fait plus tôt.
Mon site est hébergé chez OVH (et la page dont provient ce bout de script aussi), et la base de données chez moi (OVH pour le site, chez moi pour l'exécution du programme sous linux).
Avec cette valeur de "0" je sais donc qu'aucune donnée n'a été sélectionnée, or ça serait mieux pour un login...
Vous avez une idée ?
Merci d'avance !
Je suis en train de mettre en place un espace membre sur mon site web.
Les comptes sont liés à un programme qui n'ets pas de mon ressort:
Les noms d'utilisateurs sont stockés en majuscules, et les mots de passe codés en SHA1 de cette maniere:
$hash = SHA1(strtoupper($nomutilisateur).":".strtoupper($motdepasse));
Mon problème: Dans le code suivant, il y a une requête SQL. Celle-ci fonctionne très-bien si je l'entre moi-même dans ma console MySQL, mais ici, elle retourne 0 en mysql_num_rows() :
$connectdb = mysql_connect( $dbrealmd['host'], $dbrealmd['username'], $dbrealmd['password']); if ($connectdb !== FALSE){ $account = mysql_real_escape_string(htmlentities($_POST['account'], ENT_QUOTES)); $passwd = mysql_real_escape_string(htmlentities($_POST['passwd'], ENT_QUOTES)); $hash = SHA1(strtoupper($account).":".strtoupper($_POST['passwd'])); $sql = "SELECT `id`,`username`,`sha_pass_hash`,`email`,`locked`,`gmlevel` FROM `".$dbrealmd['basename']."`.`account` WHERE `username` = '".$username."' AND `sha_pass_hash` = '".$hash."' LIMIT 1"; $req = mysql_query($sql);
Je n'ai pas tout mis, le "else" fait un header location vers ma page d'erreur.
mon $dbrealmd['valeur'] provient d'un array que j'ai fait plus tôt.
Mon site est hébergé chez OVH (et la page dont provient ce bout de script aussi), et la base de données chez moi (OVH pour le site, chez moi pour l'exécution du programme sous linux).
Avec cette valeur de "0" je sais donc qu'aucune donnée n'a été sélectionnée, or ça serait mieux pour un login...
Vous avez une idée ?
Merci d'avance !
A voir également:
- [PHP/MySQL] Requête correcte mais 0 résultat
- Resultat foot - Télécharger - Vie quotidienne
- Vérifier si une phrase est correcte - Accueil - Google
- Easy php - Télécharger - Divers Web & Internet
- Lexer resultat - Télécharger - Sport
- Remettre a 0 un pc - Guide
6 réponses
quel binz
je n'ose même pas lire tout ce code
bidouille ta requête.... affiche les variables account, passwd et hash
enfin bref tu cherches quoi, tu fais comme moi quand ça merde, tu mets des echo $uneVariable de partout pour vérifier les valeurs etc...
Dorian
je n'ose même pas lire tout ce code
bidouille ta requête.... affiche les variables account, passwd et hash
enfin bref tu cherches quoi, tu fais comme moi quand ça merde, tu mets des echo $uneVariable de partout pour vérifier les valeurs etc...
Dorian
Merci de ta réponse.
Le code est tout bête.
La seule chose que je comprend pas justement, c'est qu'avec un echo mysql_num_rows($req);, j'ai 0, alors que ce que je cherche existe dans la DB, et la meme requete rentrée à la main marche bien....
bref c'est assez bizarre.
Le code est tout bête.
La seule chose que je comprend pas justement, c'est qu'avec un echo mysql_num_rows($req);, j'ai 0, alors que ce que je cherche existe dans la DB, et la meme requete rentrée à la main marche bien....
bref c'est assez bizarre.
Je te dis que j'ai tout testé ^^ la connexion se fait, et comme du le vois j'indique dans la requête quelle DB sélectionner
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J't'avoue que j'ai tout affiché sauf ça x)
Ha bah tiens oui effectivement regarde:
mon username qui passe pas, j'ai changé de nom de variable quand j'ai nettoyé le code quand j'ai vu qu'autre-chose marchait pas...
bon ben mon erreur était toute bête, merci ^^
Ha bah tiens oui effectivement regarde:
SELECT `id`,`username`,`sha_pass_hash`,`email`,`locked`,`gmlevel` FROM `realmd`.`account` WHERE `username` = '' AND `sha_pass_hash` = '(je le masque)' LIMIT 1
mon username qui passe pas, j'ai changé de nom de variable quand j'ai nettoyé le code quand j'ai vu qu'autre-chose marchait pas...
bon ben mon erreur était toute bête, merci ^^