所以我需要在 foreach 循环中运行我的 sql 查询,但是,假设 foreach 循环中有两个变量,查询仅对第一个变量执行两次迭代,而不是同时执行第一个和第二个变量.
我的代码
$sql = "SELECT * FROM users WHERE idUsers = '$selected';";
$result = mysqli_query($conn, $sql);
if($row = mysqli_fetch_assoc($result))
{
foreach($_POST['order-check'] as $check)
{
$sql2 = "UPDATE order_table SET order_status = 'Processing', assigned_vendor = '$selectedvendor' WHERE order_id = '$check';";
$result2 = mysqli_query($conn, $sql2);
exit();
}
}
else{
echo "failed";
exit();
}
这里,$selected
是来自另一个页面的POST变量
最佳答案
正如 Qirel 提到的,从 foreach 语句中删除“exit()”。 另外,请确保在插入数据库之前清理所有 POST 或 GET 变量:)
如果您想循环遍历所有 $_POST 变量,您的语句应该如下所示
foreach($_POST['order-check'] as $check)
{
$sql2 = "UPDATE order_table SET order_status = 'Processing', assigned_vendor = '$selectedvendor' WHERE order_id = '$check';";
$result2 = mysqli_query($conn, $sql2);
//exit();
}
关于php - 需要使用 foreach 循环中的变量执行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56983047/