2

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

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

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

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

我是纠正错误返回 0 还是返回 -1?

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

4

1 回答 1

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
}
于 2012-05-02T22:18:10.513 回答