Mysql_query update

Résolu
Koun -  
 Koun -
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 ?



A voir également:

4 réponses

le père
 
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
Koun
 
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 6028 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Dis-nous si c'était effectivement ça.
0
le père
 
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
Koun
 
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 6028 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

Et comme ça :
mysql_query("UPDATE base SET desc='$descript' WHERE id='$idc1'")
?
0
Aquall Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   2
 
mysql_query("UPDATE base SET desc='". $descript ."' WHERE id='".$idc1.'")or die(mysql_error());

ça ne serait pas mieux? =D
0
Koun
 
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 6028 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
C'est un problème de syntaxe et non de type
0