Php 在PDO中使用case语法进行更新

Php 在PDO中使用case语法进行更新,php,sql,pdo,Php,Sql,Pdo,我的查询在SQL中使用此 UPDATE productcolor SET colorName = CASE productcolorID WHEN 341 THEN 'BLACK' WHEN 342 THEN 'RED' END WHERE productinformationID IN (50) 但现在我想把它转移到PDO,这是我第一次在PDO中使用case。。到目前为止,这是我的语法 $stmt = $db->prepare('UPD

我的查询在SQL中使用此

UPDATE productcolor
    SET colorName = CASE productcolorID
        WHEN 341 THEN 'BLACK'
        WHEN 342 THEN 'RED'

    END
WHERE productinformationID IN (50)
但现在我想把它转移到PDO,这是我第一次在PDO中使用case。。到目前为止,这是我的语法

$stmt = $db->prepare('UPDATE productcolor
    SET colorName = CASE productcolorID
        WHEN :producolorID THEN :colorName
    END
WHERE productinformationID IN (:productinformationID)');

        $stmt->execute(array(
        ':colorName' => $savecolor,
        ':productcolorID' => $testID,
        ':productinformationID' => $prodID));

有人能纠正我的语法吗?谢谢大家!

是否执行了此代码?添加
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常)打开连接后,立即查看是否产生任何结果。是的,我执行了该代码,但什么也没有发生@leonardo_palma我认为我的语法是错误的。注意到在php代码中发生了@Fred ii,你没有放在第二位。你执行了这个代码吗?添加
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION)打开连接后,立即查看是否产生任何结果。是的,我执行了该代码,但什么也没有发生@leonardo_palma我认为我的语法是错误的。注意到在php代码中发生了@Fred ii,你没有把它放在第二位。