SQL 語法錯誤:使用反引號修正From 和To 關鍵字
使用PDO 處理SQL 查詢時,請確保列名至關重要不要與保留關鍵字衝突。在您的例子中,您遇到了錯誤“SQLSTATE[42000]:語法錯誤或存取衝突”,因為您使用“from”和“to”作為列名,它們是 SQL 中的保留關鍵字。
要解決此問題,請在將「from」和「to」作為列名稱引用時將它們括在反引號 ( ) 中。 MySQL 中使用反引號來引用列名並防止它們被解釋為關鍵字。
修改後的查詢應如下所示:
INSERT INTO messages (`from`, `to`, name, subject, message) VALUES (:from, :to, :name, :subject, :message)
此外,您需要重新命名$vals 數組中的'from' 和'to' 鍵反映更新後的列名稱:
$vals = array( ':from' => $email, ':to' => $recipient, ':name' => $name, ':subject' => $subject, ':message' = >$message );
透過進行這些調整,您將成功執行SQL 查詢,而不會遇到語法錯誤。
以上是SQL 語法錯誤:如何修正 PDO 查詢中的「from」和「to」列名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!