PHP / MySQL一般错误

时间:2015-01-12 05:48:57

标签: php mysql

我有一个触发器,当我更新表时执行,一切正常,触发器执行得很好但是我在catch语句中返回PHP,告诉我 General Error
我不确定这里是否有人可以抓住它有什么不对。

以下是代码

$sql = "UPDATE pre_reg SET active =:val WHERE authentication =:auth";
try{
                $query = $this->pdo->prepare($sql);
                $query->bindParam(':val', $val, PDO::PARAM_INT);
                $query->bindParam(':auth', $auth, PDO::PARAM_STR);
                $query->execute();
                $user = $query->fetch();
                if($user){
                    return 'Congratulation you have activated your account!';
                }else{return '';}
}catch (PDOException $e){
    return 'This error:' .$e->getMessage(); // Store to file
}

错误

SQLSTATE[HY000]: General error

在上面的代码中,我总是得到catch返回,即使在我的数据库中,一切似乎都是根据 $sql / followed by a trigger 发生的。

我愿意接受建议,谢谢!

1 个答案:

答案 0 :(得分:5)

评论

$user = $query->fetch();

因为在插入或更改数据时无法使用fetch方法。