DB_common::rollback()
DB_common::rollback() -- Rolls back the current transaction
Description
Rolls back the current transaction.
Return value
integer - DB_OK on success
or a DB_Error object on failure
Throws
Table 39-1. Possible PEAR_Error values
| Error code | Error message | Reason | Solution |
|---|
| every other error code | |
Database specific error
|
Check the database related section of
PHP-Manual
to detect the reason for this error.
|
Note
This function can not be called
statically.
When using MySQL as your DBMS, transactions can only be used when the
tables in question use the InnoDB format.
Example
Example 39-1. Using rollback()
<?php
// Once you have a valid DB object named $db...
$db->autoCommit(false);
$db->query('INSERT INTO blah (a) VALUES (11)');
$res =& $db->query('SELECT b FROM blue');
if (DB::isError($res)) {
echo $res->getMessage() . "\n";
}
while ($res->fetchInto($row, DB_FETCHMODE_ORDERED)) {
if ($row[0] == 'problem') {
$db->rollback();
}
}
$res->free();
$db->query('DROP TABLE blah');
$db->commit();
?>
|
|