Requete UPDATE mysql qui ne fonctionne pas [Résolu]

Signaler
Messages postés
26
Date d'inscription
mercredi 25 décembre 2002
Statut
Membre
Dernière intervention
17 novembre 2008
-
Messages postés
449
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
5 mars 2009
-
Quesqu'y va pas dans ma requète j'ai pas d'érreur mais il ne met pas a jour les informations

mysql_query("UPDATE membres SET mot_passe=" . $mot_passe . ", confirmation_code=" . $confirmation_code . ", confirmation='0' WHERE pseudo=" . $pseudo );

Si vous trouver redonner moi la requète complete s'il vous plait.
@+ et merci
BigBadBoy
[:)]
A voir également:

9 réponses

Messages postés
449
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
5 mars 2009

Essaye ceci  (fais un copier-coller) ::
$Requete "UPDATE `membres` SET `mot_passe`  '$mot_passe',
`confirmation_code` '$confirmation_code', `confirmation` '0'
WHERE `pseudo` = '$pseudo'";

mysq_query($requete) or die(mysql_error());
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Confirmation="0" WHERE pseudo=\'' . $pseudo);
??

Nan, j'ai jamais donné ça.
Le problème vient bien des apostrophes mais tu ne comprends pas ce que tu fais...
Les apostrophes sont là pour délimiter les chaines. Si un champ n'est pas un type chaîne, il ne nécessite pas d'apostrophes.
Et les quotes inversés pour délimiter les noms de table ne sont pas nécessaires, au passage.
confirmation='0' ? Si le champ confirmation est un entier, ou un "booléen", il ne faut pas mettre d'apostrophes.
Si pseudo en est un, il faut mettre des apostrophes...c'est tout.
Ca n'est pas très compliqué.
Ensuite, si tu entoures ta requêtes d'apostrophes, tu dois echapper celels que tu mets DANS la requête. Si tu l'entoures de guillemets, pas la peine d'échapper les apostrophes.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,

mets un error_reporting (E_ALL); au début de ta page.
Les erreurs s'afficheront.
De toutes façons, à priori, tu oublies des apostrophes. Le champ mot_passe par exemple est sûrement un varchar.
"UPDATE... SET mot_pass='".$mot_passe."', ...etc"
Messages postés
26
Date d'inscription
mercredi 25 décembre 2002
Statut
Membre
Dernière intervention
17 novembre 2008

Avec error_reporting (E_ALL); j'ai aucune erreur le mail s'envoie tres bien mais la base de données ne ce met pas a jours

Voici la fonction complete :

if (mail($email, 'Confirmation des modifications de votre compte', $message))
                                   {  
                                         //On éxécute la requête qui enregistre un nouveau membre.
                                         mysql_query('UPDATE membres SET mot_passe=' . $mot_passe . ', confirmation_code=' . $confirmation_code . ', confirmation="0" WHERE pseudo=' . $pseudo );
                                         echo 'Vos modification on bien étais pris en compte ! Un e-mail vient de vous être envoyé contenant un lien pour confirmer vos modification.';
                                   }
else
                                   {
                                         echo 'Erreur : echec lors de l\'envoi du mail ! Veuillez vous recommencer';
                                   }

@+
et merci BigBadBoy
[:)]
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Tu n'as pas fait ce que je t'ai dit pour les apostrophes.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
regarde mieux :-)
'UPDATE membres SET mot_passe=\'' . $mot_passe . '\', confirmation_code=\''...etc
Messages postés
26
Date d'inscription
mercredi 25 décembre 2002
Statut
Membre
Dernière intervention
17 novembre 2008

Je suis tes conseille je devrais avoir ca :
mysql_query('UPDATE membres SET mot_passe=\'' . $mot_passe . '\', confirmation_code=\'' . $confirmation_code . '\', confirmation="0" WHERE pseudo=\'' . $pseudo);
Mais ca marche toujours pas
@+
et merci BigBadBoy
Messages postés
449
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
5 mars 2009

Si sa marche pas, essaye de construire ta requete avec phpmyadmin et de la reconstruire avec tes variables php.

@++
Messages postés
449
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
5 mars 2009

C'est vrai que j'aurais pu donner une petite explication.... en fait j'ai pris l'habitude de coder mes requetes facon phpmyadmin qui delimite absolument tout, ce qui est plus propres et permet d'utiliser des petites astuces d'optimisation.

@++