Php mal ecrit ?

Fermé
linusien Messages postés 168 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 28 avril 2018 - 26 oct. 2011 à 17:18
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 28 oct. 2011 à 09:26
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

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
Modifié par Zep3k!GnO le 26/10/2011 à 17:32
$mot = $data['combinaison']; 

C'était pas bien dur quand même, t'aurais pu chercher un peu...
0
linusien Messages postés 168 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 28 avril 2018 6
26 oct. 2011 à 17:36
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
0
linusien Messages postés 168 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 28 avril 2018 6
26 oct. 2011 à 17:38
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'
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
26 oct. 2011 à 17:51
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....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
victoires Messages postés 118 Date d'inscription jeudi 12 mai 2011 Statut Membre Dernière intervention 3 juin 2016
Modifié par victoires le 26/10/2011 à 17:53
salut,


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

$req = mysql_query("SELECT 'combinaison' FROM 'md5'") or die(mysql_error());
0
linusien Messages postés 168 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 28 avril 2018 6
26 oct. 2011 à 18:10
je vais essayer je vous remercie
0
linusien Messages postés 168 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 28 avril 2018 6
26 oct. 2011 à 18:12
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();

?>
0
victoires Messages postés 118 Date d'inscription jeudi 12 mai 2011 Statut Membre Dernière intervention 3 juin 2016
Modifié par victoires le 26/10/2011 à 18:37
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());
}
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 oct. 2011 à 09:26
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());
0