PDO ON DUPLICATE KEY ERROR

时间:2014-12-15 11:44:57

标签: pdo

我在最后一小时努力找到我在查询中犯的错误但却找不到错误:

public function setContacts($source, $category, $contacts){
    $sql = $this->db->con->prepare("INSERT INTO nl_contacts (cSource, cCompany, cLastname, cFirstname, cMail) VALUES (?,?,?,?,?) 
                                    ON DUPLICATED KEY UPDATE  
                                    cSource    =   VALUES(cSource),
                                    cCompany   =   VALUES(cCompany),
                                    cLastname  =   VALUES(cLastname),
                                    cFirstname =   VALUES(cFirstname)");
    foreach($contacts as $contact){
        $vars = array($source,$contact['cCompany'],$contact['cLastname'], $contact['cFirstname'],$contact['cMail']);
        if($sql->execute($vars) == true){
            $this->cID = $sql->lastInsertId();
        }
    }

我得到的错误:

  

SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在第2行'DUPLICATED KEY UPDATE cSource ='附近使用正确的语法

我在这里做错了什么?我还尝试将vars两次添加,因为它是一个准备好的语句,但没有改变结果。

提前致谢!

0 个答案:

没有答案