maxdb_rollback
maxdb::rollback
(PECL maxdb >= 1.0)
maxdb_rollback -- maxdb::rollback — Annule la transaction courante
Description
Style procédural
   bool maxdb_rollback
    ( resource 
  $link
   )Style orienté objet
   bool maxdb::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 ou FALSE si une erreur survient.
  
Exemples
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).
Voir aussi
- maxdb_commit() - Valide la transaction courante
- maxdb_autocommit() - Active ou désactive l'auto-commit des modifications de la base de données
