[RESOLU] Erreur MySQL (UPDATE)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Erreur MySQL (UPDATE)

par bibi675 » 12 juil. 2007, 11:50

Ca marche !
Merci beaucoup Ryle ! :D

par Ryle » 12 juil. 2007, 11:41

C'est du spécifique mysql, et il vaut sincerement mieux éviter d'utiliser des mots clés réservés pour ses nom de champs, mais tu peux donc utiliser cette apostrophe ` (Alt gr + 7) pour protéger les noms de tes champs ou de tes tables :

Code : Tout sélectionner

UPDATE bdd_oeuvres SET ... , `dec` = 'Test dessin n°1'
Pour l'id, s'il s'agit d'un varchar, il te faut les apostrophes autour de ta chaine :)

par bibi675 » 12 juil. 2007, 11:14

Merci beaucoup pour vos remarques ! Mais pourrais-tu m'en dire plus sur les apostrophes inversées ? Sinon, 'id' est un entier de type SMALLINT avec attribues UNSIGNED ZEROFILL.

EDIT: à force de me parler de varchar j'ai mis n'importe quoi, c'est un SMALLINT, désolé...

par Ryle » 12 juil. 2007, 11:09

Tu peux essayer de protéger le mot clé avec les apostrophes inversées ` pour dire à mysql qu'il s'agit d'un nom de champ :) (à défaut de renommer le champ)

A voir aussi le type de champ de ton id ... si c'est un varchar il faut les quotes... si c'est un entier, il ne faut pas les 0 devant :)

par bibi675 » 12 juil. 2007, 10:44

Ben pourtant j'arrive à faire un INSERT INTO avec... :-k

par Genova » 12 juil. 2007, 10:41

Bonjour,
l'erreur vient de là : dec='Test dessin n°1'.

Apparament dec est un mot clef réservé de MySQL.

@+

Erreur MySQL (UPDATE)

par bibi675 » 12 juil. 2007, 10:32

Bonjour à tous,
Je ne suis pas trop un débutant en PHP (j'en fait depuis plusieurs mois) mais j'ai une question facile à résoudre mais j'ai des compétences en MySQL assez limitées donc le problème c'est qu'il y a une erreur dans ma syntaxe SQL :

Erreur SQL :

Code : Tout sélectionner

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 'dec='Test dessin n°1' WHERE id='00028'' at line 1
Voici les codes que j'ai essayés :

Code : Tout sélectionner

UPDATE bdd_oeuvres SET art='Edgar', fic='mlniger.jpg', eco='ecole_au', dec='Test dessin n°1' WHERE id='00028' UPDATE bdd_oeuvres SET art='Edgar', fic='mlniger.jpg', eco='ecole_au', dec='Test dessin n°1' WHERE id=00028
Mais rien ne marche, j'ai même essayer de remplacer les guillemets simple par des doubles mais rien n'y fait !
Merci de m'aider ! :P