mysqli_rollback
(PHP 5)
mysqli_rollback
(no version information, might be only in CVS)
mysqli->rollback -- Rolls back current transaction
Description
bool
mysqli_rollback ( mysqli link )
class
mysqli {
bool
rollback ( void )
}
Rollbacks the current transaction for the database specified by the
link parameter.
Return Values
Geeft TRUE terug bij succes, FALSE indien er een fout is opgetreden.
Voorbeelden
Voorbeeld 1. 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(); ?>
|
|
Voorbeeld 2. 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); ?>
|
|
Het resultaat van dit script is als volgt:
0 rows in table myCity.
50 rows in table myCity (after rollback). |