mixed autoCommit (
boolean $onoff
= = false
)
Active ou non l'auto-commit.
TRUE pour activer l'auto-commit. FALSE pour désactiver l'auto-commit.
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. |
This function can not be called statically.
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 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().