试图为我的浏览器游戏创建聊天室
Posted
技术标签:
【中文标题】试图为我的浏览器游戏创建聊天室【英文标题】:Trying to make chat room for my browser game 【发布时间】:2017-07-31 10:13:12 【问题描述】:这是我的第一篇文章,我正在尝试为我的浏览器游戏创建聊天室,并且我希望在用户在我的浏览器游戏上注册时能够在进入聊天室时使用该用户名。这是错误“注意:未定义的索引:*:***** php 中的 ID。”我一直碰壁这是我的代码:
<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 我是编程新手,我在互联网上寻找这个问题,找不到。所以我请你们聪明的人帮助我:)
【问题讨论】:
php 不是用于聊天室的,它是非常可读/可写的 - 看看 node.js 作为一种潜力:) 第 52 行不是id
它是 messageid
我会检查@ThisGuyHasTwoThums。
【参考方案1】:
就像@Suneel Kumar 对您的问题发表的评论一样。你的错误在这里:
$query = "SELECT messageid, message, timestamp FROM messages ORDER by timestamp DESC";
您正在从数据库中选择以下行: messageid、消息、时间戳
您正在尝试回显数组“id”的未定义索引。
echo $row['id']
您必须将其更改为
echo $row['messageid']
或者您还必须从表中查询 id 行。
编辑:
在 PHP 中开发的一个很好的“调试”技巧也是尝试 var_dump($row) 之类的东西。这会将整个数组对象转储到浏览器中,以便您可以看到正在使用的对象中存在的所有键值。
【讨论】:
谢谢@Ole Haugset,它现在可以工作了。现在对我来说只剩下修复显示用户名了。 :)以上是关于试图为我的浏览器游戏创建聊天室的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 php 和 mysqli 创建聊天程序进行聊天 [关闭]
我的 Java Web 应用程序的类似 Facebook 的聊天