maxdb_rollback,

(PECL maxdb:1.0-7.6.00.38)

maxdb_rollback, 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 1393. 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 1394. 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() .