【发布时间】:2019-07-11 06:40:49
【问题描述】:
所以我需要在 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 变量
【问题讨论】:
-
你有
exit()在那里,所以它只会运行一次循环。您也只在选择查询中获取一行,同时循环$_POST['order-check']直到结束(第一次迭代后的exit除外)。 -
您的第二个查询不使用来自
$row的任何内容。为什么要在循环中这样做? -
不要把解决方案放在问题中。
-
@Barmar 我应该使用
if($result)吗? -
没关系,我以为你在做
while ($row = mysqli_fetch_assoc($result))。