Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 减去值并更新多行_Php_Mysqli - Fatal编程技术网

Php 减去值并更新多行

Php 减去值并更新多行,php,mysqli,Php,Mysqli,我有一个购物车,我想用正确的股票价值更新数据库。 我将订购的产品插入表中,但无法使用正确的值更新stoc表 foreach($_POST['produsC'] as $row=>$produsC) { $produsC=mysqli_real_escape_string($link,$produsC); $masuraC=mysqli_real_escape_string($link,($_POST['masuraC'][$row])); $codutC=mysq

我有一个购物车,我想用正确的股票价值更新数据库。 我将订购的产品插入表中,但无法使用正确的值更新stoc表

foreach($_POST['produsC'] as $row=>$produsC) {

    $produsC=mysqli_real_escape_string($link,$produsC);
    $masuraC=mysqli_real_escape_string($link,($_POST['masuraC'][$row]));
    $codutC=mysqli_real_escape_string($link,($_POST['codutC'][$row]));
    $cantitateC=mysqli_real_escape_string($link,($_POST['cantitateC'][$row]));
    $pretC=mysqli_real_escape_string($link,($_POST['pretC'][$row]));
    $tokC=mysqli_real_escape_string($link,($_POST['tokC'][$row]));
    $row_data[] = "('$tokC' , '$codutC' , '$produsC' , '$masuraC' , '$cantitateC' , '$pretC' , NOW())";
}

if (!empty($row_data)) {
$sql = 'INSERT INTO orders (order_id, idd, produs, masura, cantitate, pret, data) VALUES '.implode

(',', $row_data);
$result = mysqli_query($link, $sql);
}

$up = "UPDATE stoc SET 
                    stoc = stoc - ".$cantitateC."
                WHERE prodid = '".$_POST['codutC'][$row]."' AND masura = '".$_POST['masuraC'][$row]."'";
                mysqli_query($link, $up);

Thx提前

因为您在上一次查询中使用了
$row
,而这不会出现。原因是您的foreach在该查询之前结束,并且
$row
已消失。此外,如果您有任何方法可以检索该记录(这是可能的),您将获得最后一个记录索引。解决方案看起来像。。。。?!?要更新所有行还是一行?此外,您还可以告诉我为什么在
UPDATE
查询中使用
$row
。@anant,我想更新来自stoc的所有行,其中codutC和masuraC。我使用$row,因为我不知道该使用什么:))如果我有10种产品,使用不同的codutC和masuraC,我想将所有产品上传到stoc表中。我还尝试在if(!empty($row_data)…中插入$up,但仍然没有效果