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
Modérateur
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
Modérateur
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
Modérateur
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
Modérateur
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