Zend_Db的更新更好的错误报告(Zend_db update better error repo

2019-09-16 23:35发布

当我更新的记录,我使用的是从“更新”的结果,以确定它是否工作正常。

$a = $this->db->insert(self::TABLE, $saveData);

$ a = 1意味着它更新一个记录。 $ A = 0意味着它没有任何更新。 如果没有任何形式改变了,我可以得到一个0。 但我也认为,我可以得到一个0,如果出现了错误。

我希望能够告诉大家,没有更新的信息,因为他们没有任何改变,或发现有某种类型的实际错误的用户。

我是正确一个错误返回0或它返回-1?

当过我尝试产生一个错误来检查这一点,我得到的是一个Zend错误,这不是诱人的和坦率地说,而联合国是有用的。

Answer 1:

如果查询失败,原因是服务器错误,或畸形查询或无效的数据,你会得到一个异常,而不是返回值。 所以,做你想做的,你可以做这样的事情是什么:

try {
    $a = $this->db->insert(self::TABLE, $saveData);

    if ($a == 0) {
        // return no data was updated
    } else {
        // return data was updated
    }
} catch(Zend_Exception $ex) {
    // query did NOT execute successfully
    // call $ex->getMessage() for the actual error
    // return failure result
}


文章来源: Zend_db update better error reporting