Php mysql 事务回滚操作实例
本文章来给大家介绍一个
php mysql 事务回滚操作实例,有需要了解的朋友可参考。操作
方法很简单。
MYSQL 中只有 INNODB 和 BDB 类型的数据才能支持事务处理!其他的类型是不支持的。
public function insertUser ($userArray){
foreach ($userArray as $key => $value) {
@$field .= "$key,";
@$content .= "'$value',";
}
$field = ereg_replace(',$', '', $field);
$content = ereg_replace(',$', '', $content);
$db = db_connect(); //连接数据库
$db->autocommit(FALSE); //
——
设置为非自动提交
事务处理
$sql1 = "INSERT INTO t_user (".$field.") VALUES (".$content.")";
$result1 = $db->query($sql1);
$sql2 = "INSERT INTO t_userpost (f_username) VALUES ('".
$userArray['f_username']."')";
$result2 = $db->query($sql2);
if ($result1 && $result2) {
$db->commit(); //全部成功,提交执行结果
echo '提交';
} else {
$db->rollback(); //有任何错误发生,回滚并取消执行结果
echo '回滚';
}
$db->close();
}