任何人都可以看到下面的代码有什么问题吗?带有多个索引变量的PHP foreach循环
我正试图从窗体的2个数组执行一个foreach循环。
表格代号:
<td>
<input type="checkbox" name="PR[]" value="DP01">Version 1 Daypack - $55.00<br/>
<input type="checkbox" name="PR[]" value="DP02">Version 2 Daypack - $30.00<br/>
</td>
<td>
<input type="text" name="QTY[]" size = "2"/><br/>
<input type="text" name="QTY[]" size="2"/><br/>
</td>
PHP代码:
if(!empty($_POST['PR']))
{
foreach (array_combine($_POST['PR'], $_POST['QTY']) as $PRS => $QTYS)
{
$sql="INSERT INTO ORDER_TBL (TRANSACTION_ID, CUSTOMER_ID, PRODUCT_ID, QUANTITY)
VALUES ('','$_SESSION[user]','$PRS,'$QTYS)";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
exit;
}
}
}
安全提示:转义所有用户输入。阅读关于sql注入。 –
是否在其他地方定义了$ TGS?这可能会导致Product_Id的nul值。这有什么问题 - 输出如何与预期不同?错误代码? - 也是SQL错误 - '$ TGS',$ QTYS应该是'$ TGS','$ QTYS' –
您没有执行查询。如果你还没有使用密钥,使用array_combine有什么意义? – jah