在mysql警告pdo上抛出错误

时间:2016-01-18 15:36:44

标签: php mysql pdo

如果只有mysql警告而不是错误,我想抛出异常。

在我的情况下,如果用户尝试将字段amount更改为负值,则应该有例外。 (amount是无符号整数)

 try {
  $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $this->pdo->beginTransaction();
  $upd = $this->pdo->prepare("
      UPDATE Item set amount=amount-:amount where id = :itemID
  ");
  $upd->bindValue(":amount", $amount);
  $upd->bindValue(":itemID", $itemID);
  $upd->execute();
} catch (Exception $e) {
   $this->pdo->rollBack();
}

1 个答案:

答案 0 :(得分:0)

使用

$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

请参阅:http://php.net/manual/en/pdo.setattribute.php