事务使用的场合,如单连表,确保数据的真实性,要么全部插入成功要么全部插入失败,不会因为一个失败其他表数据插入成功。
tp6使用语法:
function test_aaabb()
{
$id = input('id');
$te = input('te');
$test = input('test');
Db::startTrans();//开启事务
if ($id == 0) {
$da['test'] = '成功插入';
$cc = Db::name('atest')->insertGetId($da);
dump($cc);
if ($te == 1) {
$da['test'] = '成功插入2';
Db::name('atest')->insert($da);
if ($test == 2) {
$da['test'] = '成功插入3';
Db::name('atest')->insert($da);
echo '事务提交';
Db::commit();
} else {
$da['test'] = "事务回滚插入失败";
Db::name('atest')->insert($da);
Db::rollback();
echo "事务回滚";
}
} else {
echo "事务回滚";
}
} else {
echo "事务回滚";
}
}