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. $mot = $data['combinaison']; 
    

    C'était pas bien dur quand même, t'aurais pu chercher un peu...
    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. 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. 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. salut,

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

            $req = mysql_query("SELECT 'combinaison' FROM 'md5'") or die(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. 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());