0
好的!我有一個腳本,這是一個現場拍賣的一部分,我的代碼不是全部正常工作,而且我處於我的繩索末端!下面的代碼是這兩種方式我都沒有運氣嘗試:運行多個查詢和一次
<? if(isset($_GET['golive'])) { $id = $_POST['id']; $totalamount = $_POST['amount']; $ordernumber = $_POST['ordernumber']; mysql_connect("localhost","DBusername","DBpassword") or die(mysql_error()); mysql_select_db("DBname") or die(mysql_error(header('Location: live_auction.php?ordermun=error'))); mysql_query("INSERT INTO auction_bundle (`purchaser_id`,`amount`,`order_number`,`date`) VALUES (".$id.",".$totalamount.",".$ordernumber.",NOW()) UPDATE auction_products SET order_number=".$ordernumber." WHERE on_now=1; UPDATE auction_products SET sold=1 WHERE on_now=1; UPDATE auction_products SET on_now=3 WHERE on_now=1"); header('Location: live_auction.php?ordermun='.$ordernumber.''); } ?>
我也試過
<? if(isset($_GET['golive'])) { $id = $_POST['id']; $totalamount = $_POST['amount']; $ordernumber = $_POST['ordernumber']; mysql_connect("localhost","DBusername","DBpassword") or die(mysql_error()); mysql_select_db("DBname") or die(mysql_error(header('Location: live_auction.php?ordermun=error'))); mysql_query("INSERT INTO auction_bundle (`purchaser_id`,`amount`,`order_number`,`date`) VALUES (".$id.",".$totalamount.",".$ordernumber.",NOW()"); mysql_query("UPDATE auction_products SET order_number=".$ordernumber." WHERE on_now=1"); mysql_query("UPDATE auction_products SET sold=1 WHERE on_now=1"); mysql_query("UPDATE auction_products SET on_now=3 WHERE on_now=1"); header('Location: live_auction.php?ordermun='.$ordernumber.''); } ?>
這第二個是能夠改變auction_products表,但仍然不會INSERT和其他查詢。我錯過了什麼。我需要在點擊高爾夫球按鈕時發生所有這四種情況。
你可能需要包裝在單引號查詢的值。如果在每個查詢的末尾添加'或者死亡(mysql_error())',那麼如果查詢不起作用,您可以確切地看到數據庫返回的內容 - 您當前假設所有內容都始終有效。 – andrewsi
你是否得到任何錯誤。 –
您應該停止使用mysql_ *函數並切換到mysqli或PDO(您也可以使用Doctrine之類的工具進行抽象)。另外,您不應將用戶輸入直接傳遞到查詢的文本中。你正在乞求SQL注入攻擊。如果你切換到mysqli或PDO,你可以做參數化查詢幫助解決sql注入問題。 –