Php 如何在for循环中将计数器用作变量扩展?
这是我的密码Php 如何在for循环中将计数器用作变量扩展?,php,for-loop,Php,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 Prod
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'");
}
}
得到同样的结果
有人能帮我吗?谢谢>-:您必须转义MySQL查询中的变量: 从 到 其他的也一样。总而言之:
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'");
你的报价不平衡。修复它们会给您带来以下好处:
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'");
}
}
($m=1;$m 0)的
{
mysqli_query($con,“更新订单集ProductID=”)“$\u POST[“item_id.”$m]。“'WHERE PO=”$k');
mysqli_query($con,“更新订单集产品_名称=”)”$\u POST[“项目_名称”。$m]。“'WHERE PO=”$k');
mysqli_query($con,“更新订单集订购数量=”)”$\u POST[“项目数量”$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 . "'");
}
}
($m=1;$m 0)的{
$itemName=$\u POST['item\u name.$m];
$itemQty=$\u POST['item\u qty.$m];
mysqli_查询($con,“更新订单集ProductID=”)“$item.”其中PO=”“$k.”);
mysqli_查询($con,“更新订单集ProductID=”)“$itemName.”其中PO=”“$k.”);
mysqli_查询($con,“更新订单集ProductID=”)“$itemQty.”其中PO=”“$k.”);
}
}
Hi代码不会返回错误,但不会将任何数据插入数据库。我试过echo$\u POST[“item\u id1”]代码>它返回我想要的值。我更新了答案,因为我不正确地复制和粘贴了ProductID。注意,需要定义PO='$k'
中$k
的值,以便该逻辑工作。不确定您试图用它来完成什么,但请仔细检查以确保定义了它。此外,这可以(也应该)组合到一个查询中。好的,我刚刚修复了,感谢您的帮助:-)嗨,同样,代码不会返回错误,但它不会将任何数据插入数据库。我试过echo$_POST[“item_id1”];它返回我想要的值show me please:var\u dump($\u POST)代码>for循环之前。Hi代码不会返回错误,但不会将任何数据插入数据库。我试过echo$_POST[“item_id1”];它返回我想要的值
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'");
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 . "'");
}
}