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

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

9 réponses

Répondre au sujet
cs_jean84 450 Messages postés jeudi 26 août 2004Date d'inscription 5 mars 2009 Dernière intervention - 17 sept. 2006 à 20:06
+3
Utile
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());
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_jean84
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 18 sept. 2006 à 08:05
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 17 sept. 2006 à 16:00
0
Utile
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
BigBadboy 26 Messages postés mercredi 25 décembre 2002Date d'inscription 17 novembre 2008 Dernière intervention - 17 sept. 2006 à 16:34
0
Utile
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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 17 sept. 2006 à 17:06
0
Utile
Tu n'as pas fait ce que je t'ai dit pour les apostrophes.
Commenter la réponse de malalam
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 17 sept. 2006 à 17:08
0
Utile
regarde mieux :-)
'UPDATE membres SET mot_passe=\'' . $mot_passe . '\', confirmation_code=\''...etc
Commenter la réponse de malalam
BigBadboy 26 Messages postés mercredi 25 décembre 2002Date d'inscription 17 novembre 2008 Dernière intervention - 17 sept. 2006 à 17:29
0
Utile
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
cs_jean84 450 Messages postés jeudi 26 août 2004Date d'inscription 5 mars 2009 Dernière intervention - 17 sept. 2006 à 20:08
0
Utile
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
cs_jean84 450 Messages postés jeudi 26 août 2004Date d'inscription 5 mars 2009 Dernière intervention - 18 sept. 2006 à 19:12
0
Utile
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.