(PECL maxdb:1.0-7.6.00.38)
maxdb_rollback, maxdb->rollback — Annule la transaction courante
Style procédural
bool maxdb_rollback ( resource $link )Style orienté objet (méthode)
class maxdb {Annule la transaction courante pour la base de données spécifiée par le paramètre link .
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
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).