本文章來給大家介紹一個PHP mysql事務(wù)回滾操作實(shí)例,有需要了解事物回滾的朋友可參考,操作方法很簡單.
MYSQL中只有INNODB和BDB類型的數(shù)據(jù)表才能支持事務(wù)處理,其他的類型是不支持的,代碼如下:
- public function insertUser ($userArray){
- foreach ($userArray as $key => $value) {
- @$field .= "$key,";
- @$content .= "'$value',";
- }
- $field = ereg_replace(',$', '', $field);
- $content = ereg_replace(',$', '', $content);
- $db = db_connect(); //連接數(shù)據(jù)庫
- $db->autocommit(FALSE); //設(shè)置為非自動提交——事務(wù)處理
- $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);
- //開源代碼Vevb.com
- if ($result1 && $result2) {
- $db->commit(); //全部成功,提交執(zhí)行結(jié)果
- echo '提交';
- } else {
- $db->rollback(); //有任何錯誤發(fā)生,回滾并取消執(zhí)行結(jié)果
- echo '回滾';
- }
- $db->close();
- }
新聞熱點(diǎn)
疑難解答