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中文網其他相關文章!