这是我的代码
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'");