Forum und email

maxdb_rollback

maxdb->rollback

(PECL maxdb:1.0-7.6.00.38)

maxdb->rollback — Annule la transaction courante

Description

Style procédural

bool maxdb_rollback ( resource $link )

Style orienté objet (méthode)

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

Example#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();
?>

Example#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($linkFALSE);

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).