如何将计数器用作for循环中的变量扩展


How to use the counter as a variable extension in for loop?

这是我的代码

for ($m = 1; $m <= $j; $m++)
    {
        if ($_POST['item_id".$m."'] > 0)
        {
        mysqli_query($con,"UPDATE Orders SET ProductID = '$_POST['item_id".$m."']' WHERE PO = '$k'");
        mysqli_query($con,"UPDATE Orders SET Product_Name = '$_POST['item_name".$m."']' WHERE PO = '$k'");
        mysqli_query($con,"UPDATE Orders SET Quantity_Ordered = '$_POST['item_qty".$m."']' WHERE PO = '$k'");
        }
    }

但是我得到

语法错误,出乎意料的T_ENCAPSED_AND_WHITESPACE,期望T_STRING或T_VARIABLE或T_NUM_STRING

Also I tried

mysqli_query($con,"UPDATE Orders SET ProductID = '$_POST['item_qty$m']' WHERE PO = '$k'");

得到相同的结果

有人能帮帮我吗?谢谢>——:

你的报价不平衡。修复它们会给你这个:

for ($m = 1; $m <= $j; $m++)
{
    if ($_POST["item_id".$m] > 0)
    {
       mysqli_query($con,"UPDATE Orders SET ProductID = '" . $_POST["item_id".$m]   . "' WHERE PO = '$k'");
       mysqli_query($con,"UPDATE Orders SET Product_Name = '" . $_POST["item_name".$m] . "' WHERE PO = '$k'");
       mysqli_query($con,"UPDATE Orders SET Quantity_Ordered = '" . $_POST["item_qty".$m]  . "' WHERE PO = '$k'");
    }
}

也许是这样?

for ($m = 1; $m <= $j; $m++) {
    $item = $_POST['item_id' . $m];
    if ($item > 0) {
        $itemName = $_POST['item_name' . $m];
        $itemQty = $_POST['item_qty' . $m];
        mysqli_query($con, "UPDATE Orders SET ProductID = '" . $item . "' WHERE PO = '" . $k . "'");
        mysqli_query($con, "UPDATE Orders SET ProductID = '" . $itemName . "' WHERE PO = '" . $k . "'");
        mysqli_query($con, "UPDATE Orders SET ProductID = '" . $itemQty . "' WHERE PO = '" . $k . "'");
    }
}

您必须转义MySQL查询中的变量:

    mysqli_query($con,"UPDATE Orders SET ProductID = '$_POST['item_id".$m."']' WHERE PO = '$k'");

    mysqli_query($con,"UPDATE Orders SET ProductID = '". $_POST['item_id".$m."'] . "' WHERE PO = '$k'");

其他的也一样。一起:

mysqli_query($con,"UPDATE Orders SET ProductID = '". $_POST['item_id".$m."'] . "' WHERE PO = '$k'");
mysqli_query($con,"UPDATE Orders SET ProductID = '". $_POST['item_name".$m."'] ."' WHERE PO = '$k'");
mysqli_query($con,"UPDATE Orders SET ProductID = '". $_POST['item_qty".$m."'] ."' WHERE PO = '$k'");