无法在同一页上回显行mysql数据

cu6pst1q  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(227)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

两年前关门了。
改进这个问题
有人知道为什么我不能用代码在同一页回显数据库行吗

$username = mysqli_real_escape_string($link, $_SESSION['username']);

   $sql = "SELECT * FROM apiusers WHERE username = '".$username."'";
    if ($result = $link->query($sql)) {

        while ($row = $result->fetch_row()) {
            echo $row[5];

        }

    }

此代码在 <!DOCTYPE html> 在页面上。
现在我要回显这个 <?php echo $row[5]; ?> 在我的身体区域,但没有显示任何结果,为什么?在上面的代码中效果很好。

guicsvcw

guicsvcw1#

<?php echo $row[5]; ?> 无法在html页中工作,因为$row变量只存在于while循环中。
在顶部声明一个变量。例如:

$myQueryResults = array();

更改while循环:

while ($row = $result->fetch_row()) {
    array_push($myQueryResults, $row);
    echo $row[5];
}

在你的身体里你现在可以使用$myqueryresults了

<html>
    <!-- echo the first result, row 5 -->
    <p> <?php echo $myQueryResults[0][5];?> </p>
</html>

或打印所有元素:

<?php
foreach ($myQueryResults as $value) {
    echo $value;
}
?>
kninwzqo

kninwzqo2#

因为 FALSE 分配给 $rowwhile 在获取最后一行之后,循环退出(当没有更多行可返回时 fetch_row 函数返回 FALSE .)
在回路内部, $row 已填充。
如果我们以后需要在循环外引用检索到的值,我们需要将这些值保存到一个可以引用的变量中。

相关问题