mysqli_rollback
(PHP 5)
mysqli_rollback
(no version information, might be only in CVS)
mysqli->rollback -- Annule la transaction courante
Description
Style procédural
bool
mysqli_rollback ( mysqli link )
Style orienté objet (méthode)
class
mysqli {
bool
rollback ( void )
}
Annule la transaction courante pour la base de données spécifiée par le paramètre
link.
Valeurs de retour
Cette fonction retourne TRUE en cas de
succès, FALSE en cas d'échec.
Exemples
Exemple 1. Style orienté objet
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); }
/* Désactive l'auto-commit */ $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");
/* Validation */ $mysqli->commit();
/* Effacement de toutes les lignes */ $mysqli->query("DELETE FROM myCity");
if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) { $row = $result->fetch_row(); printf("%d lignes dans la table myCity.\n", $row[0]); /* Libération des résultats */ $result->close(); }
/* Annulation */ $mysqli->rollback();
if ($result = $mysqli->query("SELECT COUNT(*) FROM myCity")) { $row = $result->fetch_row(); printf("%d lignes dans la table myCity (après annulation).\n", $row[0]); /* Libération des résultats */ $result->close(); }
/* Effacement de la table myCity */ $mysqli->query("DROP TABLE myCity");
$mysqli->close(); ?>
|
|
Exemple 2. Style procédural
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); }
/* Désactive l'auto-commit */ 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");
/* Validation */ mysqli_commit($link);
/* Effacement de toutes les lignes */ mysqli_query($link, "DELETE FROM myCity");
if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) { $row = mysqli_fetch_row($result); printf("%d lignes dans la table myCity.\n", $row[0]); /* Libération des résultats */ mysqli_free_result($result); }
/* Annulation */ mysqli_rollback($link);
if ($result = mysqli_query($link, "SELECT COUNT(*) FROM myCity")) { $row = mysqli_fetch_row($result); printf("%d lignes dans le table myCity (après annulation).\n", $row[0]); /* Libération des résultats */ mysqli_free_result($result); }
/* Effacement de la table myCity */ mysqli_query($link, "DROP TABLE myCity");
mysqli_close($link); ?>
|
|
L'exemple ci-dessus va afficher :
0 lignes dans la table myCity.
50 lignes dans la table myCity (après annulation). |