Erreur de syntaxe SQL : "Erreur de mot réservé (de, à)"
Rencontre de l'erreur "SQLSTATE[42000] : erreur de syntaxe ou violation d'accès : 1064 Vous avez une erreur dans votre syntaxe SQL" lors de l'utilisation de PDO en PHP peut être frustrant. Une cause potentielle de cette erreur est l'utilisation de mots réservés dans les noms de colonnes sans guillemets appropriés.
En SQL, certains mots tels que "from" et "to" sont des mots-clés réservés et ne peuvent pas être utilisés comme noms de colonnes sans citant. Ceci est mis en évidence dans le message d'erreur comme "vérifiez le manuel qui correspond à la version de votre serveur MySQL pour connaître la bonne syntaxe à utiliser près de 'de, à, nom, sujet, message) VALEURS".
Pour résoudre ce problème , vous devez citer les mots réservés en utilisant des backticks (`). Dans MySQL, cela signifierait changer le code en :
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
En citant les mots réservés, vous informez l'analyseur SQL que vous avez l'intention de les utiliser comme noms de colonnes et non comme mots-clés. Cela devrait éliminer l'erreur de syntaxe et permettre à la requête de s'exécuter correctement.
N'oubliez pas qu'il est généralement recommandé d'éviter d'utiliser des mots réservés comme noms de colonnes. Pensez à renommer les colonnes pour éviter d'éventuels conflits de syntaxe à l'avenir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!