我有一个触发器,当我更新表时执行,一切正常,触发器执行得很好但是我在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
发生的。
我愿意接受建议,谢谢!
答案 0 :(得分:5)
评论
$user = $query->fetch();
因为在插入或更改数据时无法使用fetch
方法。