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.

Parameters

link

Procedural style only: A link identifier returned by mysqli_connect() or mysqli_init()

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example 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();
?>

Example 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);
?>

The above example will output:

0 rows in table myCity.
50 rows in table myCity (after rollback).

Follow phpf1 on Twitter




F1 Site Family
AJAX F1
CSS F1
Database F1
Flash F1
HTML F1
Java F1
JavaScript F1
PhotoShop F1
PHP F1
Scripts F1
Tutorial F1
Windows F1

Total time: 0.0475