当我更新记录时,我使用'update'的结果来确定它是否正常工作。
$a = $this->db->insert(self::TABLE, $saveData);
$ a = 1表示它更新了一条记录。 $ a = 0表示它没有更新任何内容。如果表单中没有任何变化,我可以得到0。但我也假设如果出现错误,我可以得到0。
我希望能够告诉用户信息没有更新,因为它们没有更改任何内容或者存在某种实际错误。
我是否更正错误返回0或返回-1?
当我试图产生错误来检查这个时,我得到的是Zend错误,这个错误并不具有吸引力且坦率地说是无用的。
答案 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
}