Requete UPDATE mysql qui ne fonctionne pas

Résolu
BigBadboy Messages postés 26 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 17 novembre 2008 - 17 sept. 2006 à 15:40
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009 - 18 sept. 2006 à 19:12
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

cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
17 sept. 2006 à 20:06
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());
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 sept. 2006 à 08:05
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.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 sept. 2006 à 16:00
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"
0
BigBadboy Messages postés 26 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 17 novembre 2008
17 sept. 2006 à 16:34
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
[:)]
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 sept. 2006 à 17:06
Tu n'as pas fait ce que je t'ai dit pour les apostrophes.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 sept. 2006 à 17:08
regarde mieux :-)
'UPDATE membres SET mot_passe=\'' . $mot_passe . '\', confirmation_code=\''...etc
0
BigBadboy Messages postés 26 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 17 novembre 2008
17 sept. 2006 à 17:29
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
0
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
17 sept. 2006 à 20:08
Si sa marche pas, essaye de construire ta requete avec phpmyadmin et de la reconstruire avec tes variables php.

@++
0
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
18 sept. 2006 à 19:12
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.

@++
0
Rejoignez-nous