Parcours de table + mise à jour de la BDD

Résolu
Bonjour, Je voudrais faire un parcours de table et mettre à jour le mot de passe des membres inscris en le cryptant en md5.

mais je retrouve avec un erreur: [B]Erreur de syntaxe près de ''9' à la ligne 1[/B]
que je n'arrive pas à corriger.

 $sql = "SELECT * FROM membre";
   $sql = mysql_query($sql) or die(mysql_error());
   $num = mysql_num_rows($sql);
   
   
	   while($num > 0){
		 $row = mysql_fetch_array($sql);
		
                 $q = ("UPDATE membre SET password='".md5($row['idmembre'])."'WHERE  
                         password ='".$row['idmembre']);
		 $sql = mysql_query("$q") or die(mysql_error());
	   } 


7 réponses

  1. Contributeur
    Bonjour,
    Je dirais qu'il manque un espace avant le WHERE et il qu'il manque un " ' " à la fin pour fermer le champs password.
    0
    1. Erreur:
      Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\EasyPHP-12.1\www\aeemci\admin\logon.php on line 14
      0
      1. Contributeur
        Regarde ce qu'il y a dans ta variable $row['idmembre'].
        Met un echo $row['idmembre'] quelque part.
        Globalement il te dit que tu met un boolean au lieu d'un string/int.
        0
        1. C'est bien est string qui est retourné, le problème c'est au niveau du parcours.
          Après le premier enregistrement tous les autres idmembre sont à null.
          0
          1. Contributeur
            Je pense pas que faire un md5 de la valeur null ce soit cool.
            0
            1. les Id ont bien des valeurs dans ma BDD.
              La requête ne le récupère pas.
              Une seule ligne est mise à jour : le première
              0
              1. Contributeur
                Tu m'as dit que idmembre étaient à nuls... ?
                Et en base ils sont pas nuls ?
                0
            2. Résolu.
              $sql = "SELECT * FROM membre";
              $sql = mysql_query($sql) or die(mysql_error());
              $num = mysql_num_rows($sql);
               
               
              	   while($num > 0) { 
              		$row = mysql_fetch_array($sql);
                      $q = ("UPDATE membre SET password='".md5($row['idmembre'])."' WHERE idmembre ='".$row['idmembre']."'");
              		$sql2 = mysql_query($q) or die(mysql_error());
              		 $num--;
              	   }
              0