SQLSTATE[42000] 错误疑难解答:语法错误或访问冲突
在您的代码中,您遇到错误“SQLSTATE[42000]:由于使用保留关键字作为列名而导致语法错误或访问冲突”。具体来说,列名“from”是 SQL 中的保留关键字。
解决方案:
要解决此问题,您需要引用保留列名。在 MySQL 中,列名使用反引号 (`) 引用。因此,代码中有问题的行应修改如下:
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
其他注意事项:
请注意,“to”也是 SQL 中的保留关键字。因此,您还需要引用它,从而产生以下修改行:
$sql = "INSERT INTO messages (`from`, `to`, `name`, `subject`, `message`) VALUES (:from, :to, :name, :subject, :message)";
以上是如何修复在列名中使用保留关键字的 SQLSTATE[42000] 语法错误?的详细内容。更多信息请关注PHP中文网其他相关文章!