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

Messages postés
26
Date d'inscription
mercredi 25 décembre 2002
Dernière intervention
17 novembre 2008
- - Dernière réponse : cs_jean84
Messages postés
450
Date d'inscription
jeudi 26 août 2004
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
[:)]
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
450
Date d'inscription
jeudi 26 août 2004
Dernière intervention
5 mars 2009
3
Merci
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());

Merci cs_jean84 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_jean84
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
3
Merci
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.

Merci malalam 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
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"
Commenter la réponse de malalam
Messages postés
26
Date d'inscription
mercredi 25 décembre 2002
Dernière intervention
17 novembre 2008
0
Merci
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
[:)]
Commenter la réponse de BigBadboy
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Tu n'as pas fait ce que je t'ai dit pour les apostrophes.
Commenter la réponse de malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
regarde mieux :-)
'UPDATE membres SET mot_passe=\'' . $mot_passe . '\', confirmation_code=\''...etc
Commenter la réponse de malalam
Messages postés
26
Date d'inscription
mercredi 25 décembre 2002
Dernière intervention
17 novembre 2008
0
Merci
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
Commenter la réponse de BigBadboy
Messages postés
450
Date d'inscription
jeudi 26 août 2004
Dernière intervention
5 mars 2009
0
Merci
Si sa marche pas, essaye de construire ta requete avec phpmyadmin et de la reconstruire avec tes variables php.

@++
Commenter la réponse de cs_jean84
Messages postés
450
Date d'inscription
jeudi 26 août 2004
Dernière intervention
5 mars 2009
0
Merci
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.

@++
Commenter la réponse de cs_jean84

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.