作者chrismaggie (中仔)
看板Database
标题[SQL ] 请问这个mysql语法哪边出了错误呢
时间Wed Aug 27 11:11:01 2008
小弟目前有两个资料表,一个是厂商资料表,另外一个是销售资料表
而当管理者在删除厂商资讯时,必须同时删除销售资料表包含该厂商纪录
才不会有不一致的情形,因此我的语法如下
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
1F:推 slalala:改用Innodb吧~ 08/27 11:28
2F:推 linccg:先$delete再$deleteSQL 08/27 15:23