mysqli::rollback
, mysqli_rollback
mysqli::rollback
mysqli_rollback
Rolls back current transaction
Description
Object oriented stylebool mysqli::rollback();
Procedural stylebool mysqli_rollback(mysqli link);
Rollbacks the current transaction for the database.
Parameters
link
-
Procedural style only: A link identifier returned by
mysqli_connect
ormysqli_init
Return Values
Returns TRUE
on success or FALSE
on failure.
Examples
Example 20.133. mysqli::rollback
example
Object oriented style
<?php $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world'); /* check connection */ if (mysqli_connect_errno()) { printf('Connect failed: %s\n', mysqli_connect_error()); exit(); } /* disable autocommit */ $mysqli->autocommit(FALSE); $mysqli->query('CREATE TABLE myCity LIKE City'); $mysqli->query('ALTER TABLE myCity Type=InnoDB'); $mysqli->query('INSERT INTO myCity SELECT * FROM City LIMIT 50'); /* commit insert */ $mysqli->commit(); /* delete all rows */ $mysqli->query('DELETE FROM myCity'); if ($result = $mysqli->query('SELECT COUNT(*) FROM myCity')) { $row = $result->fetch_row(); printf('%d rows in table myCity.\n', $row[0]); /* Free result */ $result->close(); } /* Rollback */ $mysqli->rollback(); if ($result = $mysqli->query('SELECT COUNT(*) FROM myCity')) { $row = $result->fetch_row(); printf('%d rows in table myCity (after rollback).\n', $row[0]); /* Free result */ $result->close(); } /* Drop table myCity */ $mysqli->query('DROP TABLE myCity'); $mysqli->close(); ?>
Procedural style
<?php $link = mysqli_connect('localhost', 'my_user', 'my_password', 'world'); /* check connection */ if (mysqli_connect_errno()) { printf('Connect failed: %s\n', mysqli_connect_error()); exit(); } /* disable autocommit */ mysqli_autocommit($link, FALSE); mysqli_query($link, 'CREATE TABLE myCity LIKE City'); mysqli_query($link, 'ALTER TABLE myCity Type=InnoDB'); mysqli_query($link, 'INSERT INTO myCity SELECT * FROM City LIMIT 50'); /* commit insert */ mysqli_commit($link); /* delete all rows */ mysqli_query($link, 'DELETE FROM myCity'); if ($result = mysqli_query($link, 'SELECT COUNT(*) FROM myCity')) { $row = mysqli_fetch_row($result); printf('%d rows in table myCity.\n', $row[0]); /* Free result */ mysqli_free_result($result); } /* Rollback */ mysqli_rollback($link); if ($result = mysqli_query($link, 'SELECT COUNT(*) FROM myCity')) { $row = mysqli_fetch_row($result); printf('%d rows in table myCity (after rollback).\n', $row[0]); /* Free result */ mysqli_free_result($result); } /* Drop table myCity */ mysqli_query($link, 'DROP TABLE myCity'); mysqli_close($link); ?>
The above examples will output:
0 rows in table myCity. 50 rows in table myCity (after rollback).
See Also
mysqli_commit
|
mysqli_autocommit |