PHP MySQL et UPDATE d'une table
Résolu
jadu29
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
jadu29 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
jadu29 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un souci qui me ronge, alors que je ne suis pas du gruyère !
j'ai besoin de laisser les utilisateurs modifier certains champs d'une table.
Je sais faire cela et j'obtient, par exemple une valeur "$modif"
et cela s'applique pour un utilisateur qui a un pseudo repéré comme
Quand je veux mettre à jour la base je le demande à MySQL qui est là pour cela. Mais il y a un bug !
je place ici le code de "travail"
et j'ai le retour de bâton comme ceci:
Erreur SQL !update centre_interet set mediation ='OUI', reiki ='OUI', meditation ='OUI', litho ='OUI', couleurs ='OUI', sons ='OUI', hig ='OUI', tout ='OUI', where pseudo='toto'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where pseudo='toto'' at line 1
Je trouve cela inadmissible, mais je pense quand même que c'est moi qui fait une erreur quelque part, erreur que je ne trouve pas !
Pourtant la ligne renvoyée en "erreur" par SQL ne présente pas de défaut, si ???
Aussi j'ai besoin de votre aide !
Merci à tous !
J'ai un souci qui me ronge, alors que je ne suis pas du gruyère !
j'ai besoin de laisser les utilisateurs modifier certains champs d'une table.
Je sais faire cela et j'obtient, par exemple une valeur "$modif"
$modif=mediation ='OUI', reiki ='OUI', meditation ='OUI', litho ='OUI', couleurs ='OUI', sons ='OUI', hig ='OUI', tout ='OUI';
et cela s'applique pour un utilisateur qui a un pseudo repéré comme
$pseudo='toto'
Quand je veux mettre à jour la base je le demande à MySQL qui est là pour cela. Mais il y a un bug !
je place ici le code de "travail"
$sql = "update centre_interet SET ".$modif2." WHERE pseudo='".$pseudo."'"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
et j'ai le retour de bâton comme ceci:
Erreur SQL !update centre_interet set mediation ='OUI', reiki ='OUI', meditation ='OUI', litho ='OUI', couleurs ='OUI', sons ='OUI', hig ='OUI', tout ='OUI', where pseudo='toto'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where pseudo='toto'' at line 1
Je trouve cela inadmissible, mais je pense quand même que c'est moi qui fait une erreur quelque part, erreur que je ne trouve pas !
Pourtant la ligne renvoyée en "erreur" par SQL ne présente pas de défaut, si ???
Aussi j'ai besoin de votre aide !
Merci à tous !
A voir également:
- PHP MySQL et UPDATE d'une table
- Table ascii - Guide
- Table des matières word - Guide
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
6 réponses
Bonjour,
Il faut préciser le nom du champ à modifier dans la table sinon MySQL se mélange les pinceaux :
Concernant le message d'erreur, elle concerne une requête différente :
Il y a une virgule de trop juste avant la condition WHERE.
Il faut préciser le nom du champ à modifier dans la table sinon MySQL se mélange les pinceaux :
$sql = "UPDATE centre_interet SET nom_champ=".$modif2." WHERE pseudo='".$pseudo."'"; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Concernant le message d'erreur, elle concerne une requête différente :
UPDATE centre_interet SET mediation='OUI', reiki='OUI', meditation='OUI', litho='OUI', couleurs ='OUI', sons='OUI', hig='OUI', tout='OUI', WHERE pseudo='toto';
Il y a une virgule de trop juste avant la condition WHERE.
Bonjour,
ah ah ah, mySql ne fonctionne pas à la tête du client ... donc oui il y a une erreur
Erreur SQL !update centre_interet set mediation ='OUI', reiki ='OUI', meditation ='OUI', litho ='OUI', couleurs ='OUI', sons ='OUI', hig ='OUI', tout ='OUI', where pseudo='toto'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where pseudo='toto'' at line 1
enleve la virgule avant WHERE, çà devrait fonctionner
Je trouve cela inadmissible, mais je pense quand même que c'est moi qui fait une erreur quelque part, erreur que je ne trouve pas !
ah ah ah, mySql ne fonctionne pas à la tête du client ... donc oui il y a une erreur
Erreur SQL !update centre_interet set mediation ='OUI', reiki ='OUI', meditation ='OUI', litho ='OUI', couleurs ='OUI', sons ='OUI', hig ='OUI', tout ='OUI', where pseudo='toto'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where pseudo='toto'' at line 1
enleve la virgule avant WHERE, çà devrait fonctionner
Je vous remercie d'avoir attiré mon attention sur cette virgule !
À force d'être planté on fini par ne plus rien voir, pas vrai ?
Comme le "$modif2" était obtenu avec des $modif2=$modif2.' ####" ';
il m'a fallu reprendre ma chaine ! Et maintenant ça marche !
MERCI 1000 fois ;
Prenez bien soin de vous !
Vous êtes à la meilleure place pour le faire !
À force d'être planté on fini par ne plus rien voir, pas vrai ?
Comme le "$modif2" était obtenu avec des $modif2=$modif2.' ####" ';
il m'a fallu reprendre ma chaine ! Et maintenant ça marche !
MERCI 1000 fois ;
Prenez bien soin de vous !
Vous êtes à la meilleure place pour le faire !
Oh dommage
Bon, il va pas dans le die, alors ?
Sinon, parfois des erreurs ne remontent pas au php. Fais un echo de ton $sql et colle-le en base (onglet SQL) Parfois, il est plus causant comme ça.
Je suppose que tu as vérifié qu'il y avait bien un gugusse qui avait le pseudo toto ?
Bon, il va pas dans le die, alors ?
Sinon, parfois des erreurs ne remontent pas au php. Fais un echo de ton $sql et colle-le en base (onglet SQL) Parfois, il est plus causant comme ça.
Je suppose que tu as vérifié qu'il y avait bien un gugusse qui avait le pseudo toto ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui 'toto' est mon nom de testeur !!! ;)
sinon, oui, quand j'édite la formule de MySql_query et que je la place dans SQL de phpmyadmin, ça colle bien !
En local !
mais sur mon site : un gros quedalle !!!
je croyais que le coup de la virgule était la cause unique !
mais il doit y avoir un ; ou un } pas fermé ou en trop ! Je balaye le tout, encore !
Si j'y arrive, je viendrais le dire, bien sûr !
sinon, oui, quand j'édite la formule de MySql_query et que je la place dans SQL de phpmyadmin, ça colle bien !
En local !
mais sur mon site : un gros quedalle !!!
je croyais que le coup de la virgule était la cause unique !
mais il doit y avoir un ; ou un } pas fermé ou en trop ! Je balaye le tout, encore !
Si j'y arrive, je viendrais le dire, bien sûr !
Bon, ben oui, c'était bien cela ! Un peu ...
Mais j'ai dû refaire tout mes chaînages de 'if elsif else' !
Car selon les réponses au formulaire il y avait des fois des virgules de trop !
Bref, j'avais traité cela un peu à l'arach' et je me rends compte, une fois de plus, que d'avoir de la méthode 'papier' pour commencer empêche ce genre de #&$¤eries ! (°)
Donc cette fois c'est clos ! ( et non cloturé ! je n'aime pas les barbelés et j'aime le bon français ! )
() lire "âneries", bien sûr !
Mais j'ai dû refaire tout mes chaînages de 'if elsif else' !
Car selon les réponses au formulaire il y avait des fois des virgules de trop !
Bref, j'avais traité cela un peu à l'arach' et je me rends compte, une fois de plus, que d'avoir de la méthode 'papier' pour commencer empêche ce genre de #&$¤eries ! (°)
Donc cette fois c'est clos ! ( et non cloturé ! je n'aime pas les barbelés et j'aime le bon français ! )
() lire "âneries", bien sûr !