maxdb_rollback

maxdb::rollback

(PECL maxdb >= 1.0)

maxdb_rollback -- maxdb::rollbackAnnule 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

LoadingChargement en cours