【发布时间】:2015-08-07 16:41:58
【问题描述】:
如何在 PDO 中使用ON DUPLICATE KEY UPDATE
我的问题是我得到 (SQLSTATE[42000]: 语法错误或访问冲突?) 当我尝试以下 synthaxe 时,插入函数和更新工作正常,但是当我在重复时同时使用两者时,我得到错误:
$query = "INSERT INTO my_table (name,tophtml,bothtml,lang,background_mode,redirhtml,bg_color)
VALUES (:name, :top_html, :bottom_html, :hs_language, :bg_style, :redirect_to, :bg_color )
ON DUPLICATE KEY UPDATE
tophtml= :top_html, bothtml= :bottom_html, lang= :hs_language, bg_color= :bg_color, redirhtml= :redirect_to, background_mode= :bg_style WHERE name=:name
";
$request = $databaseStatus->connection->prepare($query);
$request->bindParam(":name", $name, PDO::PARAM_STR);
$request->bindParam(":top_html", $top_html, PDO::PARAM_STR);
$request->bindParam(":bottom_html", $bottom_html, PDO::PARAM_STR);
$request->bindParam(":bg_color", $bg_color, PDO::PARAM_STR);
$request->bindParam(":redirect_to", $redirect_to, PDO::PARAM_STR);
$request->bindParam(":hs_language", $hs_language, PDO::PARAM_STR);
$request->bindParam(":bg_style", $bg_style, PDO::PARAM_STR);
$request->execute();
【问题讨论】: