Php 为什么我的while循环在内部执行另一个查询后停止?已关闭
我的while循环在内部执行另一个查询后停止。。。你能纠正我的密码吗?当在表“采购的项目”供应商中找到pi编号时,我想将表“订购的项目”供应商中的列状态更新为“待定”,如果未找到,则列状态为“活动” 这是我的mysql。。它应该更新ID 11中的状态“已交付”Php 为什么我的while循环在内部执行另一个查询后停止?已关闭,php,mysql,Php,Mysql,我的while循环在内部执行另一个查询后停止。。。你能纠正我的密码吗?当在表“采购的项目”供应商中找到pi编号时,我想将表“订购的项目”供应商中的列状态更新为“待定”,如果未找到,则列状态为“活动” 这是我的mysql。。它应该更新ID 11中的状态“已交付” 问题是每次都覆盖相同的变量 检查外部和内部查询是否都使用了$result。这就是问题出现的原因。所以不要覆盖$result变量。我猜您正在用第二个查询覆盖$result。将$result的第二个用法更改为$result2。您正在重置$re
问题是每次都覆盖相同的变量
检查外部和内部查询是否都使用了
$result
。这就是问题出现的原因。所以不要覆盖$result
变量。我猜您正在用第二个查询覆盖$result
。将$result
的第二个用法更改为$result2
。您正在重置$result
的值,因此这会在循环时中断第一个用法。。我明白了,非常感谢。。现在可以用了,对不起,我现在太累了。哈哈
$sql2 = "select * from ordered_items_supplier";
$result = $connect->query($sql2);
if($result->num_rows > 0){
while ($row = $result->fetch_assoc()) {
$pi_number = $row['pi_number'];
$sql = "select * from purchased_items_supplier where pi_number = '$pi_number'";
$result = $connect->query($sql);
if($result->num_rows > 0){
while ($row2 = $result->fetch_assoc()) {
$pi_number = $row2['pi_number'];
$sql = "update ordered_items_supplier set status = 'Pending' where pi_number = '$pi_number'";
$query = $connect->query($sql);
}
}else{
$sql = "update ordered_items_supplier set status = 'Delivered' where pi_number = '$pi_number'";
$query = $connect->query($sql);
}
}
}