mysql的事務處理主要有兩種方法。
1、用begin,rollback,commit來實現
begin 開始乙個事務
rollback 事務回滾
commit 事務確認
2、直接用set來改變mysql的自動提交模式
$conn = mysql_connect('localhost','root','root') or die ("資料連線錯誤!!!");
mysql_select_db('test',$conn);
mysql_query("set names 'gbk'"); //使用gbk中文編碼;
//開始乙個事務
mysql_query("begin"); //或者mysql_query("start transaction");
$sql = "insert into `user` (`id`, `username`, `***`) values (null, 'test1', '0')";
$sql2 = "insert into `user` (`did`, `username`, `***`) values (null, 'test1', '0')";//這條我故意寫錯
$res = mysql_query($sql);
$res1 = mysql_query($sql2);
if($res && $res1)else
mysql_query("end");
/**************** transaction--2 *******************/
/*方法二*/
mysql_query("set autocommit=0"); //設定mysql不自動提交,需自行用commit語句提交
$sql = "insert into `user` (`id`, `username`, `***`) values (null, 'test1', '0')";
$sql2 = "insert into `user` (`did`, `username`, `***`) values (null, 'test1', '0')";//這條我故意寫錯
$res = mysql_query($sql);
$res1 = mysql_query($sql2);
if($res && $res1)else
mysql_query("end"); //事務處理完時別忘記mysql_query("set autocommit=1");自動提交
/******************對於不支援事務的myisam引擎資料庫可以使用表鎖定的方法:********************/
PHP與MYSQL事務處理
mysql的事務處理主要有兩種方法。1 用begin,rollback,commit來實現 begin 開始乙個事務 rollback 事務回滾 commit 事務確認 2 直接用set來改變mysql的自動提交模式 mysql預設是自動提交的,也就是你提交乙個query,它就直接執行!我們可以通過...
PHP 事務處理
在對資料庫會進行多次操作的時候會使用到事務 transaction 其中的底層邏輯如下 1 開啟事務 begin 2 取消資料庫自動寫入 set autocommit 0 3 sql1賦值 第一句所要執行的內容 4 sql2賦值 等等 5 執行mysql query sql1 sqln 6 判斷sq...
PHP操作MySQL事務處理
php操作mysql事務處理 用begin,rollback,commit來實現 方法二 conn mysqli connect localhost root root test or die 資料連線錯誤 mysqli query set names utf8mb4 使用gbk中文編碼 開始乙個事...