2013-04-02 5 views
0

J'essaie d'exécuter un UPDATE et j'obtiens une erreur de syntaxe. J'utilise php et PDO pour créer la commande UPDATE. Quel est le problème avec ma syntaxe?Erreur dans la syntaxe UPDATE utilisant PDO

UPDATE education WHERE userId = :userId AND fieldId = :fieldId SET fieldId = :fieldId, educationTitle = :educationTitle, educationDegree = :educationDegree, startDate = :startDate, endDate = :endDate, educationDescription = :educationDescription;

Erreur:

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 userId = '35' AND fieldId = '4' SET fieldId = '4', educationTitle = 'ththt' at line 1

MISE À JOUR:

J'ai essayé de placer WHERE après SET comme l'exemple ci-dessous, mais je suis toujours obtenir une erreur de syntaxe.

UPDATE education SET fieldId = :fieldId, educationTitle = :educationTitle, educationDegree = :educationDegree, startDate = :startDate, endDate = :endDate, educationDescription = :educationDescription, WHERE userId = :userId AND fieldId = :fieldId;

+2

mauvaise utilisation de la clause where. –

+0

** Quelle erreur ** obtenez-vous toujours? Quel est le ** texte ** de cette erreur? Comment nous sommes censés résoudre votre problème sans voir le message d'erreur? –

+0

@YourCommonSense Le message d'erreur est dans la question ci-dessus. –

Répondre

3

mettez WHERE après SET.

UPDATE education 
SET  fieldId = :fieldId, 
     educationTitle = :educationTitle, 
     educationDegree = :educationDegree, 
     startDate = :startDate, 
     endDate = :endDate, 
     educationDescription = :educationDescription 
WHERE userId = :userId AND 
     fieldId = :fieldId 
+0

J'ai essayé cela en premier, mais j'ai la même erreur. –

+0

@relentless Je suppose que vous avez gâché quelque chose d'autre, essayez à nouveau en utilisant la déclaration ci-dessus. –

+0

J'ai encore essayé. même erreur. L'utilisation d'une virgule est-elle correcte ou non?: EducationDescription, WHERE '? –