当我更新记录时,我正在使用"更新"的结果来确定它是否正常工作。
$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
}