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