maxdb_rollback

(PECL)

maxdb_rollback

(no version information, might be only in CVS)

maxdb->rollback -- Annule la transaction courante

Description

Style procédural

bool maxdb_rollback ( resource link )

Style orienté objet (méthode)

class maxdb {

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
$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 :

0 ligne dans la table mycity.
25 lignes dans la table mycity (après annulation).

Voir aussi

maxdb_commit() et maxdb_autocommit().

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:02:09