[請益] 資料進入資料庫的中途出現錯誤怎麼修復

看板PHP作者 (誠實面對自己吧!)時間8年前 (2015/08/08 07:39), 8年前編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
這幾天想到一個問題 使用我提供的後台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

08/08 09:08, , 1F
包 transaction?
08/08 09:08, 1F
請問包 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

08/08 14:17, , 2F
去google看看吧 TRANSACTION 交易
08/08 14:17, 2F

08/08 14:17, , 3F
TRY CATCH
08/08 14:17, 3F

08/08 16:31, , 4F
好的
08/08 16:31, 4F
文章代碼(AID): #1LnK7CQV (PHP)