いつもお世話になっております。
Masudaです。
Moodleの勉強を兼ねまして、独自Block作りに励んでおります。
DBを扱うにあたり、トランザクション管理をしたいと考えています。
そこで、簡単な確認プログラムを作成してみましたが、
トランザクション管理が実現できません。
ロールバックしてもしなくても、レコードが追加されてしまいます。
ご教授お願いします。
試しに、labelテーブルに対してロールバックを試みた
プログラムは下記のとおりです。
<?php
require_once('../../config.php');
begin_sql();
//execute_sql('START TRANSACTION');
$label = new object;
$label->course = 12234;
$label->name = 'HELLO';
$label->content = 'HELLOHELLOContent';
$label->timemodified = 123456;
try{
insert_record('label', $label);
throw new Exception('Exception - It is an exception that I generated.');
echo 'Commit';
commit_sql();
}catch (Exception $e) {
//execute_sql('ROLLBACK');
rollback_sql();
echo "Error:", $e->getMessage(), "\n";
}
?>
利用環境
PHP 5.1
Moodle 1.9.7+