MySQLi - Revertir
Sintaxis
bool mysqli_rollback ( mysqli $link [, int $flags [, string $name ]] )
Definición y uso
Elimina el punto de guardado con nombre del conjunto de puntos de guardado de la transacción actual.
Ejemplo
Pruebe el siguiente ejemplo:
<?php
$servername = "localhost:3306";
$username = "root";
$password = "";
$dbname = "TUTORIALS";
$tmp = NULL;
$conn = new mysqli($servername, $username, $password, $dbname);
if (!$conn->real_connect($servername, $username, $password, $dbname)) {
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
}
echo 'Success... ' . mysqli_get_host_info($conn) . "\n";
mysqli_query($conn, "CREATE TABLE tutorials_test1 LIKE tutorials_auto");
mysqli_query($conn, "ALTER TABLE tutorials_test1 Type = InnoDB");
mysqli_query($conn, "INSERT INTO tutorials_test1 SELECT * FROM id LIMIT 50");
mysqli_commit($conn);
mysqli_query($conn, "DELETE FROM tutorials_test1");
if ($result = mysqli_query($conn, "SELECT COUNT(*) FROM tutorials_test1")) {
$row = mysqli_fetch_row($result);
printf("%d rows in table tutorials_test1.\n", $row[0]);
mysqli_free_result($result);
}
mysqli_rollback($conn);
if ($result = mysqli_query($conn, "SELECT COUNT(*) FROM tutorials_test1")) {
$row = mysqli_fetch_row($result);
printf("%d rows in table tutorials_test1 (after rollback).\n", $row[0]);
mysqli_free_result($result);
}
mysqli_query($conn, "DROP TABLE tutorials_test1");
$conn->close();
?>
La salida de muestra del código anterior debería ser así:
Success... localhost:3306 via TCP/IP 0 rows in table tutorials_test1.
0 rows in table tutorials_test1 (after rollback).