2

我正在尝试使用 PDO 准备语句更新我的一个表中的单个元素,并且由于某种原因它不起作用。我正在使用 try-and-catch 并且我没有收到来自系统的错误。我还回显了我的两个绑定参数,并且它们都在系统中注册,所以我不知道为什么它没有通过。我在另一个脚本中使用了与此非常相似的查询,一切都很好。

if($_POST['check_request'] == "Yes"){
    $check_amnt = $_POST['check_amnt'];
    try {
        $STH = $DBH->prepare('UPDATE accounts SET check = :check_amnt WHERE accnt = :user');
        $STH->bindParam(':check_amnt', $check_amnt);
        $STH->bindParam(':user', $ulog);
        $STH->execute();
    }
    catch(PDOException $e) {  
        echo "Check Input Error: " .$e->getMessage(). "</br>";
    }
}
4

1 回答 1

3

您是否为 with 设置了异常模式PDO

$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

更新: check是mysql的保留字,需要转义。

$STH = $DBH->prepare('UPDATE accounts SET `check` = :check_amnt WHERE accnt = :user');
于 2012-08-30T05:37:10.410 回答