[php] 2025-05-03 圈点640
摘要:thinkphp和php对mysql事务处理的示例.
thinkphp 处理mysql事务示例:
$t1 = M('a');
$t2 = M('b');
$t1->startTrans();
$r1 = $t1->where('id = 1')->delete();
$r2 = $t2->where('id = 2')->delete();
if($res1 && $res2){
$model1->commit(); //$r1 和$res2 为真,则提交数据库的所有操作
dump("commit");
}else{
$t1->rollback(); // 条件不满足,回滚
dump("rollback");
}
exit;
php对mysql事务处理示例:
$conn = mysql_connect('127.0.0.1','t','t') or die('DB connection failed!');
mysql_select_db('a',$conn);
mysql_query('set names "GBK"');
mysql_query('BEGIN');
$sql1 = "INSERT INTO `tb1`(`uid`,`type`,`target_id`) VALUES(1,1,1);";
$sql2 = "INSERT INTO `tb2`(`uid`,`type`,`target_id`) VALUES(2,2,2);";
$res1 = mysql_query($sql1);
$res2 = mysql_query($sql2);
if($res1 && $res2){
mysql_query('COMMIT');
print('commit success!');
}else{
mysql_query('ROLLBACK');
print('commit failed, rollback!');
}
mysql_query('END');