Zend_db更新更好的错误报告

时间:2012-05-02 21:18:09

标签: php zend-framework zend-db

当我更新记录时,我使用'update'的结果来确定它是否正常工作。

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

$ a = 1表示它更新了一条记录。 $ a = 0表示它没有更新任何内容。如果表单中没有任何变化,我可以得到0。但我也假设如果出现错误,我可以得到0。

我希望能够告诉用户信息没有更新,因为它们没有更改任何内容或者存在某种实际错误。

我是否更正错误返回0或返回-1?

当我试图产生错误来检查这个时,我得到的是Zend错误,这个错误并不具有吸引力且坦率地说是无用的。

1 个答案:

答案 0 :(得分: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
}