代码:
$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>";结果:
3 records fetched<br>stop is->PATIA<br>stops arePATIA;<br>end<br>这里,从select查询中获取3条记录
但是,在while($row =$Result->fetch())中,循环没有运行,只有一个记录显示为PATIA,而不是3个记录。为什么其他人不露面?
发布于 2021-03-23 05:10:06
@chinpin,这应该可以解决你的问题。正如我所评论的,您正在覆盖在外部“with”循环中使用的变量,得到不同的结果。
$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>";https://stackoverflow.com/questions/66757490
复制相似问题