首页 文章

PHP - 如何在while循环中运行mysql查询?

提问于
浏览
0

我的原始查询是从phpadmin表中选择数据并显示到表中 .

$sql="select * from table";
$result=mysql_query($sql) or die(mysql_error());

while($myrow=MySQL_fetch_array($result,MYSQL_ASSOC))
{
    extract($myrow);
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[0]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[1]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[2]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[3]."</td>";    
}

然后我需要使用 $myrow[0] 的值显示另一列来执行另一个查询来获取值 .

$sql="select * from table";
$result=mysql_query($sql) or die(mysql_error());

while($myrow=MySQL_fetch_array($result,MYSQL_ASSOC))
{
    extract($myrow);

    $id = $myrow[0];
    $sql="select amount from table2 where id like '%$id%'";
    $result = mysqli_query($conn, $sql);

    echo "<td align='left' bgcolor='$bgclr'>".$myrow[0]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[1]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[2]."</td>";    
    echo "<td align='left' bgcolor='$bgclr'>".$myrow[3]."</td>";    

    while ($row=mysqli_fetch_row($result)) {

            echo "<td align='left' bgcolor='$bgclr'>".$row[0]."</td>";echo "</tr>";
        }   
    }

我的页面变得空白 . 错误发生在

$ result = mysqli_query($ conn,$ sql);

这是正确的方法还是我应该怎么做?

1 回答

  • 2

    在这里循环执行查询时覆盖变量 $result

    $sql="select amount from table2 where id like '%$id%'";
    $result = mysqli_query($conn, $sql);
    

    在循环中更改变量名 $result ,代码如下:

    $sql="select amount from table2 where id like '%$id%'";
    $result2 = mysqli_query($conn, $sql);
    

    还在这里更新:

    while ($row=mysqli_fetch_row($result2)) {
    
                echo "<td align='left' bgcolor='$bgclr'>".$row[0]."</td>";echo "</tr>";
            }   
        }
    

相关问题