在你的榜樣,如果表中的數據是相同的更新數據,然後Zend_Db_Table
將返回(int)0
讓你知道,沒有記錄人更新。
如果您確信您更新id
存在,那麼你可以假設數據是一樣的,沒有什麼更新。
如果Zend_Db_Table
無法構造查詢您引用非存在的列,或無法連接到數據庫,然後update()
扔根據實際的錯誤是什麼,它是一個Zend_Exception
。
如果潛在的調用無法運行查詢,無論是使用PDO,Mysqli,Oracle等,則update()
將返回(bool)false
。
例子:
$data = array('name' => 'Jorge',
'last' => 'Ferrari');
$table = new Application_Model_Test();
try {
$result = $table->update($data,
$table->getAdapter->quoteInto('id = ?', 0);
// Use === to compare type AND value
if (false === $result) {
return false; // bool false returned, query failed
} else {
if ($result === 0) {
// no rows updated
} else {
// 1 or more updated
}
return $result;
}
} catch (Zend_Exception $zex) {
// exception occurred. Could not connect, bad parameters or SQL etc
throw $zex;
// or
return false; // if you return false here and above, then you don't
// know if an exception occurred, or if the query failed
}
希望有所幫助。
注意未找到!=查詢失敗,即假設行id = 0不存在,update()將返回0而不是false。 – 2012-05-09 03:24:00