回显数组值的问题


Problems with echoing array values

我在回显数组中的值时遇到问题。我正在使用 mysql 查询创建一个数组,$online ,其中包含当前在线用户的名称。这是我的代码:

<?php
    $goodbye = time() - 300;
    $qry="SELECT UserName FROM Members WHERE Seen >=$goodbye";
    $result=mysql_query($qry);
    if($result) {
        $online = mysql_fetch_assoc($result);
        foreach($online as $u) {
            echo $u;
            echo "<br>";
        }
    } else {
        die("Query Failed");
    }
?>

在我的网页上查看此内容时,仅显示数组的第一个索引(如:如果用户 1、用户 17 和用户 69 都在线,则列表中将仅显示用户 1)。我确定这种情况正在发生,因为我错误地使用了回声,但我还没有弄清楚。有什么提示吗?谢谢。

你应该像(mysql_fetch_assoc)一样循环它

if($result) {
    while ($row = mysql_fetch_assoc($result)) {
        echo $row["UserName"];
    }
}

另外,请注意Warning