看板 PHP 關於我們 聯絡資訊
這幾天想到一個問題 使用我提供的後台api的對像會先傳給我一堆資料 我再藉由傳給我的一個status變數的內容執行對應的工作 這些工作裡面有很多都是要把資料輸入資料庫 或先進資料庫查出跟使用者相關的資料做處理 有一個功能需要把使用著的身份資料寫進兩個不同的資料表 比如說 community 這張表裡面是記錄使用者的通訊資料 另一張表 serviceInfo 是使用者的消費資料(例如累積的紅利點數) 所以當一個新的使用者註冊時(假如使用者輸入的資料都通確檢查沒有缺失) step 1 :我會先把他的資料填入community step 2 :再到serviceInfo裡新增他的資料 可是如果我完成step 1 之後莫名其妙的沒有把資料加到step 2 裡, 這時我該怎麼補救? 我該怎麼去補完step 2 沒完成的工作? 或是我該怎麼回頭去刪掉step 1 已輸入的資料? -- -- ˙ ˙ ◥ ▲ 上吧,藍胖!! \' (OwQ ) ) ) ﹀ \ \ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.43.55.22 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1438990796.A.69F.html
duck10704: 包 transaction? 08/08 09:08
請問包 transaction的意思是這樣嗎 mysql_query("SET AUTOCOMMIT=0"); //設置 mysql 不自動執行,需自行用 commit 語句執行 $sql_com = " insert into community values('李某某','0919...',...) "; $sql_service = " insert into serviceInfo values('100','10','2015...'...) "; $res_c = mysql_query($sql_com); $res_s = mysql_query($sql_service); if($res_c && $res_s){ mysql_query("COMMIT"); //兩個都完成 則確定輸入資料 }else{ mysql_query("ROLLBACK"); //否則退回原本狀態 } ※ 編輯: kattte (115.43.55.22), 08/08/2015 13:00:35
crossdunk: 去google看看吧 TRANSACTION 交易 08/08 14:17
crossdunk: TRY CATCH 08/08 14:17
kattte: 好的 08/08 16:31