DB_common::autoCommit()
DB_common::autoCommit() – 自動コミットの有効/無効を切り替える
Synopsis
mixed autoCommit (
boolean $onoff
= = false
)
Description
自動コミットの有効/無効を切り替えます。
Parameter
-
boolean
$onoff
-
自動コミットを有効にする場合に TRUE、無効にする場合に FALSE
を指定します。
Return value
integer - 成功した場合に DB_OK、
失敗した場合に DB_Error オブジェクトを返します。
Throws
Possible PEAR_Error values
エラーコード |
エラーメッセージ |
原因 |
対応法 |
すべてのエラーコード |
|
データベース固有のエラー。
|
PHP マニュアル
のデータベース関連の部分を調べ、エラーの原因を判断してください。
|
Note
This function can not be called
statically.
DBMS として MySQL を使用している場合は、対象テーブルが
InnoDB 形式を使用している場合にのみトランザクションが使用できます。
Example
<?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();
?>