DB_common::autoCommit() -- 自動コミットの有効/無効を切り替える
パラメータ
- boolean
$onoff
自動コミットを有効にする場合に TRUE、無効にする場合に FALSE
を指定します。
注意
この関数は、スタティックにコールする
ことはできません。
DBMS として MySQL を使用している場合は、対象テーブルが
InnoDB 形式を使用している場合にのみトランザクションが使用できます。
例
例 39-1autocommit() の使用法 <?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 "データ $row[0] を取得します\n";
echo "数値 $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();
?> |
|