Php mal ecrit ?

Bonjour, je vous montre ici un de mes fichier php car une erreur est annoncé a la ligne 19

merci a tous de votre aide

<?php

$dbhost = "localhost"; // remplacer par l'hote Mysql
$username = "root";
$dbpass = ""; // idem pour son mot de passe
$dbname = "md5"; // idem pour le nom de la base de donnée

$db = mysql_connect($dbhost, $username, $dbpass); // on entre les identifiants
mysql_select_db($dbname,$db); //on choisi la base de donnée

// on fait la requete
$req = mysql_query('SELECT combinaison FROM md5') or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// pour chaque résultat trouver faire cela:
while($data = mysql_fetch_assoc($req));
{
$mot = $data['combinaison'] // on récupère ici le mot de la base de donnée, remplace le $data['mot']; par le nom du champs ou sont les mots

$newmot = md5(combinaison); // on crypte en md5

// enfin on modifie le champs et on le remplace par sa valeur md5
$req = mysql_query('UPDATE md5 SET md5 = "$newmot" WHERE md5 = "$mot"') or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}

mysql_close();

?>

8 réponses

  1. je lis:
    j'ai une colone combinaison constituer de noms
    j'ai une colone md5 ui dois recevoir le hash de chaue nom


    et ta requette:
    mysql_query('SELECT * FROM md5')

    md5 c'est bien le nom de la table ? et / ou celui de la deuxième colonne ?
    Il ne serait pas très judicieux de donner le même nom à une colonne et à une table, risque de confusion.
    ensuite si tu veux afficher correctement ton message d'erreur il faut:

    $sql='SELECT * FROM md5';
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    1. alors mon fichier fonctionne mais seulement ne travaille pas
      je m'explique
      j'ai une colone combinaison constituer de noms
      j'ai une colone md5 ui dois recevoir le hash de chaue nom
      donc j'ai creer ce fichier php mais quand je le lance il n'y a rien et le travail n'est pas effectuer

      voici le php

      <?php

      $dbhost = "localhost"; // remplacer par l'hote Mysql
      $username = "root";
      $dbpass = ""; // idem pour son mot de passe
      $dbname = "md5"; // idem pour le nom de la base de donnée

      $db = mysql_connect($dbhost, $username, $dbpass); // on entre les identifiants
      mysql_select_db($dbname,$db); //on choisi la base de donnée

      // on fait la requete
      $req = mysql_query('SELECT combination FROM md5') or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

      // pour chaque résultat trouver faire cela:
      while($data = mysql_fetch_assoc($req));
      {
      $mot = $data['combination']; // on récupère ici le mot de la base de donnée, remplace le $data['mot']; par le nom du champs ou sont les mots

      $texte = md5('combination'); // on crypte en md5

      // enfin on modifie le champs et on le remplace par sa valeur md5
      $req = mysql_query('UPDATE md5 SET md5 = "$texte" WHERE md5 = "$mot"') or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
      }

      mysql_close();

      ?>
      1. je ne sais si j'ai bien compris ton besoin
        essaye ça :
        $req = mysql_query('SELECT * FROM md5') or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

        // pour chaque résultat trouver faire cela:
        while($data = mysql_fetch_assoc($req));
        {
        $mot = $data['combinaison'];
        $texte = md5($mot); // on crypte en md5

        // enfin on modifie le champs et on le remplace par sa valeur md5
        $req = mysql_query("UPDATE md5 SET md5 = '$texte' WHERE combinaison = '$mot'") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
        }
    2. salut,

      vérifie bien le nom du champ combinaison
      sinon essage ça :

      $req = mysql_query("SELECT 'combinaison' FROM 'md5'") or die(mysql_error());
      1. Notice: Undefined variable: sql in C:\xampp\htdocs\sl.php on line 12
        Erreur SQL !

        c'est simple c'est écrit, faut juste traduire : ta variable $sql n'existe pas.

        Unknown column 'combinaison' in 'field list'
        Pour être sur de ta requete, fais la dans phpmyadmin et après tu la compares avec ce que tu as écris, car la, sans voir la table....
        1. excuse moi tout est bon a part une ligne

          $req = mysql_query('SELECT combinaison FROM md5') or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

          pourtant la colone combinaison existe bien dans ma base
          voila l'erreur

          Notice: Undefined variable: sql in C:\xampp\htdocs\sl.php on line 12
          Erreur SQL !

          Unknown column 'combinaison' in 'field list'
          1. je te remercie c'est tres gentil mais j'ai toujours l'erreur suivante

            Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\sl.php on line 19
            1. $mot = $data['combinaison']; 
              

              C'était pas bien dur quand même, t'aurais pu chercher un peu...