mixed autoCommit ([boolean $onoff = FALSE])
mixed autoCommit
Active ou non l'auto-commit.
TRUE pour activer l'auto-commit. FALSE pour désactiver l'auto-commit.
integer - DB_OK en cas de succès, ou un objet DB_Error en cas d'échec.
Tableau 33-1. Valeurs PEAR_Error possibles
Cette fonction ne peut pas être appelée de façon statique.
Lors de l'utilisation de MySQL en tant que votre DBMS, les transactions ne peuvent être utilisées que lorsque les tables en question utilisent le format InnoDB.
Exemple 33-1. Exemple avec autocommit()
<?php $db =& DB::connect('ibase(firebird)://user:pw@localhost/path/file'); $db->autoCommit(false); $db->query('CREATE TABLE blah (a integer)'); $db->query('CREATE TABLE blue (b integer)'); $db->commit(); $db->query('INSERT INTO blah (a) VALUES (11)'); $db->query('INSERT INTO blah (a) VALUES (12)'); $res1 =& $db->query('SELECT a FROM blah'); if (DB::isError($res1)) { echo $res1->getMessage() . "\n"; } $i = 1; while ($res1->fetchInto($row, DB_FETCHMODE_ORDERED)) { echo "Récupération des données de la ligne n°$row[0]\n"; echo "Insertion du nombre $i...\n"; $res2 =& $db->query("INSERT INTO blue (b) VALUES ($i)"); if (DB::isError($res2)) { echo $res2->getMessage() . "\n"; } $i++; } $res1->free(); $db->query('DROP TABLE blah'); $db->query('DROP TABLE blue'); $db->commit(); ?>
commit() et rollback().