我正在嘗試使用重複鍵上的更新來執行MySQL查詢,但我無法看到語法錯誤,因爲出現「語法錯誤或訪問衝突」錯誤。重複更新PHP PDO MYSQL
代碼:
$sql = "INSERT INTO site_configuration
(configuration_key, configuration_value, additional_data)
VALUES
(:config_key, :site_new_background, :site_background_meta)
ON DUPLICATE KEY UPDATE
'configuration_value' = VALUES(:site_new_background), 'additional_data' = VALUES(:site_background_meta)";
$smth = $database->prepare($sql);
$smth->bindParam(':config_key', $config_key, PDO::PARAM_STR);
$smth->bindParam(':site_new_background', $site_new_background, PDO::PARAM_STR);
$smth->bindParam(':site_background_meta', $site_background_meta, PDO::PARAM_STR);
錯誤消息:
'PDOException' 有消息「SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的'configuration_value「= VALUES正確的語法手冊(?),‘additional_data’= VALUES(?)」
刪除單引號圓柱名稱 – Jens
您也不能重複使用佔位符。 –