Mysql_query update

Résolu/Fermé
Koun - 28 févr. 2012 à 17:27
 Koun - 28 févr. 2012 à 23:10
Bonjour,


J'y arrive pas...

Je pense avoir un probleme d'accents, guillemets, mais je bloque, sur un problème de base que j'ai résolu plusieurs fois par le passé:

mysql_query("UPDATE base SET desc='". $descript ."' WHERE id='$idc1'")or die(mysql_error());

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 'desc='dfg' WHERE id='51'' at line 1

Voilà ou j'en suis, j'ai essayé pas mal de combinaisons d'accents mais rien n'y fait.

Mon champs sql est en TEXT, et ma variable descript est dfg.

Des idées?

Please ?



4 réponses

Bonjour

Non, ta syntaxe est correcte... sauf que tu as eu la mauvaise idée d'appeler un champ DESC et que c'est un mot réservé de SQL

Change le nom du champ et ça marchera mieux. Ou si tu veux le garder, encadre le d'accents graves ( celui de la touche 7, qui est transformé en apostrophe par CCM)
3
TU ES MON PERE !

J'essaie ça après, mais je n'ai plus de doutes sur l'erreur. C'est logique mais je n'ai pas réfléchi que DESC était réservé pour le tri.

Merci beaucoup. J'aurais du poser la question hier soir...J'aurais gagné une nuit de sommeil ;)
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
28 févr. 2012 à 19:11
Dis-nous si c'était effectivement ça.
0
Il n'est bien sûr pas impossible qu'il y ait un autre problème.
Mais il est absolument certain qu'appeler un champ desc et de l'utiliser sans l'entourer d'accents graves conduit à cette erreur. À défaut de lire le manuel mySQL, il suffit de faire l'essai en créant une table avec un champ desc et de faire un simple select desc from matable avec phpmyadmin.
Comme il était absolument certain que bricoler les ', les " et les concaténations ne changeait rien au résultat, puisque c'était toujours la même requête qui était soumise à mySQL.
0
C'était effectivement ça.

ne pas appeler ses champs desc, order, by, where etc... parait pourtant logique ...

Merci à vous pour votre coup de main.

;)
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
28 févr. 2012 à 17:30
Bonjour,

Et comme ça :
mysql_query("UPDATE base SET desc='$descript' WHERE id='$idc1'")
?
0
Aquall Messages postés 36 Date d'inscription mardi 31 mai 2011 Statut Membre Dernière intervention 1 mars 2012 2
28 févr. 2012 à 17:32
mysql_query("UPDATE base SET desc='". $descript ."' WHERE id='".$idc1.'")or die(mysql_error());

ça ne serait pas mieux? =D
0
Malheureusement aucune de ces solutions ne fonctionne. J'ai pourtant traiter des update, c'est la première fois que je suis bloqué à ce point là.

Est-ce que mon champs SQL :


'desc' text(500) character set latin1 collate latin1_general_ci NOT NULL,

peut poser problème ?
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
28 févr. 2012 à 18:09
C'est un problème de syntaxe et non de type
0