Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我的while循环在内部执行另一个查询后停止?已关闭_Php_Mysql - Fatal编程技术网

Php 为什么我的while循环在内部执行另一个查询后停止?已关闭

Php 为什么我的while循环在内部执行另一个查询后停止?已关闭,php,mysql,Php,Mysql,我的while循环在内部执行另一个查询后停止。。。你能纠正我的密码吗?当在表“采购的项目”供应商中找到pi编号时,我想将表“订购的项目”供应商中的列状态更新为“待定”,如果未找到,则列状态为“活动” 这是我的mysql。。它应该更新ID 11中的状态“已交付” 问题是每次都覆盖相同的变量 检查外部和内部查询是否都使用了$result。这就是问题出现的原因。所以不要覆盖$result变量。我猜您正在用第二个查询覆盖$result。将$result的第二个用法更改为$result2。您正在重置$re

我的while循环在内部执行另一个查询后停止。。。你能纠正我的密码吗?当在表“采购的项目”供应商中找到pi编号时,我想将表“订购的项目”供应商中的列状态更新为“待定”,如果未找到,则列状态为“活动”

这是我的mysql。。它应该更新ID 11中的状态“已交付”

问题是每次都覆盖相同的变量


检查外部和内部查询是否都使用了
$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);
            }

    }



}