本文章來給大家介紹一個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();
}