Probléme avec "Warning: mysql_num_rows()

Signaler
Messages postés
8
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
9 août 2012
-
Messages postés
8
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
9 août 2012
-
salut tout le monde :
Le probléme est que la requéte SQL marche et le mdp change dans la base de donné mais echo ne marche pas et il m'affiche cette erreur : ( pour c'eux qui ce demande a quoi sert l ' echo dans ce code : j'en est besoin pour mon application android ;) )
Notice: Undefined index: email in C:\wamp\www\Frontendandroid\oubliemdp.php on line 2
[b]
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\Frontendandroid\oubliemdp.php on line 24/b


Voici mon code
<?php
 $email = $_POST['email'];
 function chaine_aleatoire($nb_car, $chaine = 'AZERTYUIOPQSDFGHJKLMWXCVBN@123456789')
{
    $nb_lettres = strlen($chaine) - 1;
    $generation = '';
    for($i=0; $i < $nb_car; $i++)
    {
        $pos = mt_rand(0, $nb_lettres);
        $car = $chaine[$pos];
        $generation .= $car;
    }
    return $generation;
}
//On se connecte a la base de donnee 
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('trackeur', $conn);
    $random_password = chaine_aleatoire(8);
    $db_password = $random_password;
    
$query = "UPDATE clients SET password='$db_password' WHERE email='$email'";  
$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());  
//this is where the actual verification happens  
     if(mysql_num_rows($result))  
echo 1;  // for correct login response  
else  
echo 0; // for incorrect login response 


    ?>


[large]comment les corrigé svp/large :(

3 réponses

Messages postés
8
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
9 août 2012

ligne 24 ==> if(mysql_num_rows($result))
et merci d'avance pour les réponse :)
Messages postés
240
Date d'inscription
jeudi 1 mai 2008
Statut
Membre
Dernière intervention
19 juillet 2012
2
Bonjour,

Première erreur :

Lorsque tu arrive sur cette page, tu doit t'assurer avec un isset que l'email est bien poster.

Deuxiéme erreur :

Mysql_Num_Rows demande une ressources en paramètre; Hors une requete en Update te donne le nombre de ligne affecté par la requéte (Ici 1 ligne je suppose)

if(mysql_num_rows($result)) deviens if($result === 1) ou if($result > 0) si tu as plusieurs résultats possible


Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
Messages postés
8
Date d'inscription
mardi 28 avril 2009
Statut
Membre
Dernière intervention
9 août 2012

j'ai changer
if(mysql_num_rows($result)) 
par
if(mysql_affected_rows()) 

et sa marche parfaitement mnt :)
Merci pour votre réponse :)