尝试为我的浏览器游戏创建聊天室

Trying to make chat room for my browser game

这是我的第一个 post,我正在尝试为我的浏览器游戏制作聊天室,我希望当用户在我的浏览器游戏上注册时能够进入聊天室使用那个用户名。这是错误 "Notice: Undefined index: id in *:*****php.",我一直碰壁这是我的代码:

<html>
<head>
    <meta http-equiv="refresh" content="2">
</head>
<body>
<?php
    //Database connection
    $*********=             "******";
    $**********=                "*****";
    $**********=                "*******";
    $*****=                 "*********";

    //Create Connection
    $conn = new mysqli($********, $*******, $*******, $****);

    //Check Connection
    if($conn->connect_error)
    {
        die("Connection error: ".conn>connect_error);
    }

    if(isset($_SESSION['loggedin']))
    {
        $username = $_SESSION['loggedin'];

        //GET USER DATA
        $query = "SELECT id FROM users WHERE username = '$username'";
        $result = mysqli_query($conn, $query);
        $row = mysqli_fetch_assoc($result);

        //USERDATA
        $userId   =  $row['id'];
    }

    //query the database
    $query = "SELECT messageid, message, timestamp FROM messages ORDER by
    timestamp DESC";

    if ($result = mysqli_query($conn, $query))
    {
        /* fetch associative array */
        while ($row = mysqli_fetch_assoc($result))
        {
            echo $row['id'].' says: '.$row['message'].'</br>';
        }
        mysqli_free_result($result);
    }

    /* close connection */
    mysqli_close($conn);
?>
</body>
</html>

这是错误图片:

it seems messages to work at least

P.S 我是编程新手,我在网上寻找这个问题,找不到。所以我请你聪明的人帮助我:)

就像@Suneel Kumar 对你的问题发表的评论一样。你的错误在这里:

$query = "SELECT messageid, message, timestamp FROM messages ORDER by timestamp DESC";

您正在从数据库中选择以下行: messageid、消息、时间戳

并且您正在尝试回显数组的未定义索引 "id"。

echo $row['id']

要么你必须把这个改成

echo $row['messageid']

或者您还必须从 table 中查询 id 行。

编辑:

在 PHP 中进行开发的一个很好的 "debugging" 技巧也是尝试 var_dump($row)。这会将整个数组对象转储到您的浏览器中,以便您可以看到您正在使用的对象中存在的所有键值。