Warning: mysql_result()......
Résolu
tytyrael
-
tytyrael -
tytyrael -
Voici l'erreur qui met afficher
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 8 in C:\wamp\www\site\changepass.php on line 15
et voici mon code :
L'erreur porte donc sur " $passdata = mysql_result($rub,0); "
Autre info :
L'erreur n'apparait que lorsque les champs sont mal rempli (donc que l'utilisateur ou l'ancien mot de passe est incorrecte)
la requête en revanche fonctionne bien si l'ancien mot de passe et le compte existe
et le mot de passe est bien remplacer.
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 8 in C:\wamp\www\site\changepass.php on line 15
et voici mon code :
<?php include_once("header.php"); if ($login<>"") { function html ($val) { return addslashes(stripslashes($val)); } $pass = base64_encode(pack('H*', sha1($pass))); $req1 = "SELECT password FROM accounts WHERE login = '" . html($login) . "' LIMIT 1"; $rub = mysql_query($req1, $connexion); $passdata = mysql_result($rub,0); if ($passdata != $pass) { $resultat = '<span style="color:red">Le mot de passe et/ou login indiqué ne correspond pas.</span>'; } else { $newpass = base64_encode(pack('H*', sha1($newpass))); $req2 = "UPDATE accounts SET password = '" . html($newpass) . "' WHERE login= '" . html($login) . "'"; $rub = mysql_query($req2, $connexion); $resultat = '<span style="color:green">Votre mot de passe a bien été modifié.</span>'; } } ?>
L'erreur porte donc sur " $passdata = mysql_result($rub,0); "
Autre info :
L'erreur n'apparait que lorsque les champs sont mal rempli (donc que l'utilisateur ou l'ancien mot de passe est incorrecte)
la requête en revanche fonctionne bien si l'ancien mot de passe et le compte existe
et le mot de passe est bien remplacer.
A voir également:
- Warning: mysql_result()......
- Warning zone telechargement - Accueil - Outils
- Téléchargement et streaming illégal : voici les adresses des sites pirates que les FAI vont bloquer - Accueil - Services en ligne
- Cpu fan fail warning control - Forum Matériel & Système
- Symbole warning word ✓ - Forum Word
- Comment faire le symbole attention ✓ - Forum Loisirs / Divertissements
2 réponses
Bonjour
mysql_result($rub,0); va chercher la première ligne de résultat de ta requête.
Mais s'il n'y a aucune ligne de résultat (login inconnu) $rub n'a pas de première ligne et mysql_result($rub,0); ne veut rien dire.
D'ailleurs, pourquoi chercher le password associé à un login, et ensuite vérifier que c'est le bon pasword ? Tu peux tout vérifier en une seule requête :
mysql_result($rub,0); va chercher la première ligne de résultat de ta requête.
Mais s'il n'y a aucune ligne de résultat (login inconnu) $rub n'a pas de première ligne et mysql_result($rub,0); ne veut rien dire.
D'ailleurs, pourquoi chercher le password associé à un login, et ensuite vérifier que c'est le bon pasword ? Tu peux tout vérifier en une seule requête :
$req1 = "SELECT COUNT(*) as cnt FROM accounts WHERE login = '" . html($login) . "' AND password ='$pass'"; $rub = mysql_query($req1, $connexion); if (mysql_result($rub,0) >0) { // connu } else { // inconnu }