Dépannage de l'erreur SQLSTATE[42000] : erreur de syntaxe ou violation d'accès
Dans votre code, vous rencontrez l'erreur "SQLSTATE[42000] : Erreur de syntaxe ou violation d'accès" en raison de l'utilisation de mots-clés réservés comme noms de colonnes. Plus précisément, le nom de colonne « from » est un mot-clé réservé dans SQL.
Solution :
Pour résoudre ce problème, vous devez citer le nom de la colonne réservée. Dans MySQL, les noms de colonnes sont cités à l'aide de guillemets (`). Par conséquent, la ligne problématique dans votre code doit être modifiée comme suit :
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
Considérations supplémentaires :
Notez que "to" est également un mot-clé réservé dans SQL . Par conséquent, vous devez également le citer, ce qui entraîne la ligne modifiée suivante :
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
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!