首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么没有从select查询中获取所有记录?

为什么没有从select查询中获取所有记录?
EN

Stack Overflow用户
提问于 2021-03-23 04:57:34
回答 1查看 86关注 0票数 0

代码:

代码语言:javascript
复制
 $sql = "SELECT stop_id FROM routes WHERE busNumber= '" . $busNumber."'";
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0)
        {
            echo $result->num_rows."records fetched"."<br>";
            while($row = $result->fetch_assoc())
            {
                $stop_id = $row["stop_id"];
                //break;
                $sql = "SELECT stop_name FROM stops WHERE stop_id = '" . $stop_id."'";
                $result = $conn->query($sql);
                        
                if ($result->num_rows > 0)
                {
                    // output data of each row
                    while($row = $result->fetch_assoc())
                    {
                        $stop = $row["stop_name"];
                        echo "stop is->".$stop."<br>";
                        $result_stops .= $stop;
                        $result_stops .= ";";
                        //break;
                    }
                } 
            }
            echo "stops are". $result_stops. "<br>";
        }
       


echo "end". "<br>";

结果:

代码语言:javascript
复制
3 records fetched<br>stop is->PATIA<br>stops arePATIA;<br>end<br>

这里,从select查询中获取3条记录

但是,在while($row =$Result->fetch())中,循环没有运行,只有一个记录显示为PATIA,而不是3个记录。为什么其他人不露面?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-23 05:10:06

@chinpin,这应该可以解决你的问题。正如我所评论的,您正在覆盖在外部“with”循环中使用的变量,得到不同的结果。

代码语言:javascript
复制
 $sql = "SELECT stop_id FROM routes WHERE busNumber= '" . $busNumber."'";
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0)
        {
            echo $result->num_rows."records fetched"."<br>";
            while($row = $result->fetch_assoc())
            {
                $stop_id = $row["stop_id"];
                //break;
                $sql = "SELECT stop_name FROM stops WHERE stop_id = '" . $stop_id."'";
                $result2 = $conn->query($sql);
                        
                if ($result2->num_rows > 0)
                {
                    // output data of each row
                    while($row2 = $result2->fetch_assoc())
                    {
                        $stop = $row2["stop_name"];
                        echo "stop is->".$stop."<br>";
                        $result_stops .= $stop;
                        $result_stops .= ";";
                        //break;
                    }
                } 
            }
            echo "stops are". $result_stops. "<br>";
        }
       


echo "end". "<br>";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66757490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档