あなたの例では、その後、Zend_Db_Table
あなたはレコードがなかったことを知らせる(int)0
を返します。あなたが更新さid
が存在することが確実な場合に更新。
、あなたはデータが同じであったと仮定することができますし、更新するものは何もありませんでした。
Zend_Db_Table
はあなたが非を参照するクエリを構築することができなかった場合存在する列、またはデータベースへの接続ができない場合は、update()
throw実際のエラーの内容に基づいて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を返します。 –