Zend_db更新更好的错误报告


Zend_db update better error reporting

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

$a = $this->db->insert(self::TABLE, $saveData);
$a = 1 表示它更新

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

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

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

当我尝试产生错误来检查这一点时,我得到的只是一个 Zend 错误,它没有吸引力,坦率地说相当无用。

如果查询由于服务器错误、查询格式错误或数据无效而失败,则会收到异常而不是返回值。 所以要做你想做的事,你可以做这样的事情:

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
}