作者delighted817 (璇)
看板PHP
標題[請益] 不好意思我又來了QQ
時間Fri Oct 28 22:04:59 2011
我想我還是重新問我的問題,因為我好像真的講得太不清楚了!
首先有一個資料庫叫做newERP,它的下面有兩個資料表分別是
Inventory和Orderlist
Inventory資料表有INo和ICount這兩個欄位
Orderlist有CNo...INo...IQuantity共七個欄位
我設計Orderlist系統表單讓使用者輸入想要訂購的詳細資料
按下確認鈕送出之後
除了將訂購資料存放進Orderlist資料表之外
也要把Inventory中關於使用者訂購的商品數量做更新
所以我的程式碼是這樣寫的
mysqli_select_db($link, "newERP");
$sql2 ="INSERT INTO `newERP`.`orderlist` (CNo, BDate, HDate, INo, IName,
IStandard,";
$sql2.=" IQuantity) VALUES ('";
$sql2.=$_POST["CNo"]."','".$_POST["BDate"]."','".$_POST["HDate"]."',
'".$_POST["INo"]."','".$_POST["IName"]."','";
$sql2.=$_POST["IStandard"]."','".$_POST["IQuantity"]."')";
$sql3="UPDATE Inventory SET ICount=ICount-".$_POST["IQuantity"]."
WHERE INo= ".$_POST["INo"]." ";
echo "<b>SQL: $sql2,$sql3</b><br/>";
mysqli_query($link, "SET CHARACTER SET utf-8");
mysqli_query($link,
"SET collation_connection = 'utf8_unicode_ci '");
if ( mysqli_query($link, $sql2) )
echo "資料庫新增記錄成功, 影響記錄數: ".
mysqli_affected_rows($link) . "<br/>";
else
die("資料庫新增記錄失敗<br/>");
mysqli_close($link);
程式碼執行出來的結果是使用者可以順利的將訂購資料存入
但
Inventory的ICount抓不到
所以雖然抓到使用者輸入的數量了但不能相減
SQL:
INSERT INTO `newERP`.`orderlist` (CNo, BDate, HDate, INo, IName,
IStandard, IQuantity) VALUES ('5','2011-10-28T13:01Z','2011-10-28T13:02Z','
90',' 家用投影機(VPL系列',' 投影機',' 1'),
UPDATE Inventory SET ICount=ICount-
1 WHERE INo= 90
我的問題是 (1)是不是不能在同一區塊中執行兩種$sql?
(2)或者我的概念有錯誤,不應該把兩個動作設計成這樣的方式執行?
(3)應該要怎麼寫才對呢?
我遇的困難大致是這樣啦
各位高手如果還是覺得我講得太攏統的話
我再努力想辦法表達好了Orz
謝謝大家!!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.254.115.159
1F:→ buganini:執行query的code? 10/28 22:28
※ 編輯: delighted817 來自: 111.254.115.159 (10/28 22:32)
2F:→ delighted817:補上了!! 10/28 22:32
3F:→ chenstin:看起來是你有執行$sql2,但沒有執行$sql3 10/29 00:13
4F:→ kerash:你有跑 sql3 嗎,另外改用 multi_query 取代query 10/29 00:24
5F:→ kerash:mysqli_multi_query($link , $multi-query ); 10/29 00:25
6F:→ gname:multi query 效能有卡好嗎? 10/29 00:44
7F:→ kerash:看他是要多行分次執行還是一次執行囉 10/29 01:16
8F:→ kerash:看他的想法是想多行,所以我才丟這個的,不然前一篇我的 10/29 01:17
9F:→ kerash:回答 query 只能執行單行, mysqli_query 應該也是一樣意思 10/29 01:17
10F:→ averywu:完全沒看到有執行$sql3的動作 10/30 02:52
11F:→ delighted817:嗯嗯 謝謝大家的解答 我知道怎麼做了! 10/30 11:10
12F:→ delighted817:我發現我真的沒有直型到$sql3 Orz 10/30 11:11