25 pers. connectées au site
Manuel Pear
DB_common::autoCommit()
DB_common::autoCommit() -- Active ou non l'auto-commit
Synopsis
mixed autoCommit ([boolean $onoff = FALSE])
Description
Active ou non l'auto-commit.
Paramètres
- booléen $onoff
-
TRUE pour activer l'auto-commit. FALSE pour désactiver l'auto-commit.
Valeur retournée
entier - DB_OK en cas de succès, ou un objet DB_Error en cas d'échec.
Valeurs renvoyées
Tableau 39-1. Valeurs PEAR_Error possibles
| Code erreur |
Message d'erreur |
Raison |
Solution |
| every other error code |
|
Erreur spécifique à la base de données |
Vérifier la section du PHP-Manual sur les relations de base de données pour détecter la raison de cette erreur. |
Note
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
Exemple 39-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();
-
- ?>
|
Remonter