(PECL maxdb >= 1.0)
maxdb_rollback -- maxdb::rollback — Annule la transaction courante
Style procédural
Style orienté objet
Annule la transaction courante pour la base de données spécifiée par le paramètre link.
Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.
Exemple #1 Style orienté objet
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
/* Désactive l'auto-commit */
$maxdb->autocommit(FALSE);
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");
/* Exécution */
$maxdb->commit();
/* Efface toutes les lignes */
$maxdb->query("DELETE FROM temp.mycity");
if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
$row = $result->fetch_row();
printf("%d rows in table mycity.\n", $row[0]);
/* Free result */
$result->close();
}
/* Rollback */
$maxdb->rollback();
if ($result = $maxdb->query("SELECT COUNT(*) FROM temp.mycity")) {
$row = $result->fetch_row();
printf("%d ligne dans la table mycity (après annulation).\n", $row[0]);
/* Libération du résultat */
$result->close();
}
/* Effacement de la table myCity */
$maxdb->query("DROP TABLE temp.mycity");
$maxdb->close();
?>
Exemple #2 Style procédural
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
/* Désactive l'auto-commit */
maxdb_autocommit($link, FALSE);
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");
/* Exécution */
maxdb_commit($link);
/* Efface toutes les lignes */
maxdb_query($link, "DELETE FROM temp.mycity");
if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
$row = maxdb_fetch_row($result);
printf("%d ligne dans la table mycity.\n", $row[0]);
/* Libération du résultats */
maxdb_free_result($result);
}
/* Annulation */
maxdb_rollback($link);
if ($result = maxdb_query($link, "SELECT COUNT(*) FROM temp.mycity")) {
$row = maxdb_fetch_row($result);
printf("%d lignes dans la table mycity (après annulation).\n", $row[0]);
/* Libération du résultat */
maxdb_free_result($result);
}
/* Effacement de la table myCity */
maxdb_query($link, "DROP TABLE temp.mycity");
maxdb_close($link);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
0 ligne dans la table mycity. 25 lignes dans la table mycity (après annulation).