[英]Accessing records with same name but different ID
我正在處理一個數據庫表,其中有一個數量字段。 通過減少形式來操縱數量。 記錄將以新值插入到表中,作為具有新數量(已減少)的新記錄,並通過該表以下一種形式獲取記錄。 現在的問題是,每當我獲取數量時,都會獲取較舊的記錄(具有原始數量的記錄),而其中應獲取具有新數量的記錄。
我嘗試使用新值更新同一記錄,但未更新。
這是相同的代碼:
$haha="SELECT quantity FROM ready_for_delivery WHERE joborderid='".$data['joborderno']."'";
$haharesult = mysqli_query($link,$haha);
if(mysqli_num_rows($haharesult)>0)
{
$sql1="UPDATE ready_for_delivery SET quantity='".$_POST['rp_qty']."' WHERE joborderid='".$_data['joborderno']."'";
$sq1result=mysqli_query($link,$sql1);
//echo "I am here";
}
else
{
$quantity="INSERT INTO `ready_for_delivery` (`joborderid`,`joborderdetailsid`,`datetime`, `quantity`) VALUES ('".$data['joborderno']."',' ', now(), '".$_POST['rp_qty']."');";
$res1 = mysqli_query($link,$quantity);
echo "done";
}
我正在檢查表中是否有指定作業順序為否的數據,如果是,請更新它,否則將其插入為新記錄。 每次插入作為新記錄。 請指導我。 謝謝。
錯誤在於以下代碼行:
if(mysqli_num_rows($haharesult>0))
右括號放在錯誤的位置。 正確方法:
if(mysqli_num_rows($haharesult)>0)
去掉 ; 從您的第一行開始,希望這會起作用。
$haha="SELECT quantity FROM ready_for_delivery WHERE joborderid='".$data['joborderno']."'"; //remove ;
//echo $haha;
$haharesult = mysqli_query($link,$haha);
if(mysqli_num_rows($haharesult>0))
{
$sql1="UPDATE ready_for_delivery SET quantity='".$_POST['rp_qty']."' WHERE joborderid='".$_data['joborderno']."'";
$sq1result=mysqli_query($link,$sql1);
//echo "I am here";
}
else
{
$quantity="INSERT INTO `ready_for_delivery` (`joborderid`,`joborderdetailsid`,`datetime`, `quantity`) VALUES ('".$data['joborderno']."',' ', now(), '".$_POST['rp_qty']."');";
$res1 = mysqli_query($link,$quantity);
echo "done";
}
在mysqli_query
您有$sql
一個查詢變量,而實際查詢在$haha
var中。
另外,您是否檢查變量$data['joborderno']
是否為空?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.