Codeigniter 循环的更新查询不工作

Codeigniter 循环的更新查询不工作,codeigniter,post,for-loop,sql-update,Codeigniter,Post,For Loop,Sql Update,我在codeigniter中有一个类似这样的查询。但它是用另一个值执行的。而不是通过POST方法获取值 $j = $_POST['hidden']; $inv_id = $_POST['invoice_id']; $sum = ''; for($i = 1; $i <= $j; $i++){ $wh_quantity1 = $_POST['quantity'.$i]; //print_r($wh_quantity1); if($wh_qua

我在codeigniter中有一个类似这样的查询。但它是用另一个值执行的。而不是通过POST方法获取值

$j = $_POST['hidden'];
    $inv_id = $_POST['invoice_id'];
    $sum = '';
    for($i = 1; $i <= $j; $i++){
    $wh_quantity1 = $_POST['quantity'.$i];
    //print_r($wh_quantity1);

    if($wh_quantity1 ==''){

        $wh_quantity = 0;
    }
    else{
        $wh_quantity = $wh_quantity1;
    }
    $query = "UPDATE  tb_warehouse_stocks SET wh_product_qty = wh_product_qty - $wh_quantity WHERE invoice_id = '$inv_id'";
    $this->db->query($query);
    $sum += $wh_quantity; 

    }
$j=$\u POST['hidden'];
$inv_id=$_POST['invoice_id'];
$sum='';
对于($i=1;$i db->query($query);
$sum+=$WHU数量;
}

为什么会这样。它总是更新为比POST值更大的值。请将其放入.htaccess文件中

RewriteEngine On
RewriteRule ^ http://example.com/international/university-english-access-course$ http://example.com/website/page/english-access [R=301,L]

如果你没有所有的帖子索引,试试这个

    $j = $this->input->post('hidden');
    $inv_id = $this->input->post('invoice_id');
    $sum = 0;
    for ($i = 1; $i <= $j; $i++) {
        $wh_quantity = (int) $this->input->post('quantity' . $i);
        $sum += $wh_quantity;
    }

    $query = "UPDATE  tb_warehouse_stocks SET wh_product_qty = wh_product_qty - $sum WHERE invoice_id = '$inv_id'";
    $this->db->query($query);
$j=$this->input->post('hidden');
$inv_id=$this->input->post('invoice_id');
$sum=0;
对于($i=1;$i输入->过帐($i数量);
$sum+=$WHU数量;
}
$query=“更新tb\U仓库\U库存集wh\U产品\U数量=wh\U产品\U数量-$sum,其中发票\U id='$inv\U id'”;
$this->db->query($query);

wh_product_quantity的值是多少?它在数据库表中。我需要通过从中减去$wh_quantity来更新它。此查询易受SQL注入的影响。请清理您的输入或使用准备好的语句,以防止发生可怕的事情。即使是用户无意中输入的内容,也没有恶意(或他在键盘上的猫)可能会使用此更新查询完全损坏您的数据。没关系。我没有在live网站中使用它。您知道这里有什么问题吗?如果发票id为自动递增值,则不要使用发票id=“$inv_id”。只需使用发票id=$inv_id不带单引号和$inv_id=(int)$\u POST['invoice_id']