看板 Database 關於我們 聯絡資訊
小弟目前有兩個資料表,一個是廠商資料表,另外一個是銷售資料表 而當管理者在刪除廠商資訊時,必須同時刪除銷售資料表包含該廠商紀錄 才不會有不一致的情形,因此我的語法如下 if ((isset($_POST['CId'])) && ($_POST['CId'] != "")) { $deleteSQL = sprintf("DELETE FROM company WHERE CId in(%s)", implode(",",$_POST['CId'])); //刪除廠商記錄後同步刪除sale資料記錄 $delete = sprintf("DELETE FROM sales WHERE c_name in(SELECT C_name FROM company WHERE CId in(%s))", implode(",",$_POST['CId'])); mysql_select_db($database_mio, $mio); $Result1 = mysql_query($deleteSQL, $mio) or die(mysql_error()); $Result2 = mysql_query($delete, $mio) or die(mysql_error()); $deleteGoTo = "company.php"; if (isset($_SERVER['QUERY_STRING'])) { $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?"; $deleteGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $deleteGoTo)); } 我利用CId核取方塊給管理者勾選想要刪除的廠商,這個核取方塊帶的是 廠商資料表的CId欄位,而同時要刪除銷售資料表的是$delete這個語法 網頁執行後.廠商資料表的記錄可以刪除,$delete時就會出現錯誤, 導致銷售資料中的記錄並無刪除?不知道哪邊語法出問題 能否請大大幫忙,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.218.94
slalala:改用Innodb吧~ 08/27 11:28
linccg:先$delete再$deleteSQL 08/27 15:23