错误在第 12 行if($display["logged_user"]==$user)。错误是注意:未定义索引:logged_user如果我使用它=来==比较该值,它只会在一侧显示两个用户之间的所有聊天消息。我想在左侧显示登录的用户消息,在右侧显示朋友消息。提前致谢。 <?php session_start(); $conn = new mysqli('localhost', 'root', '', 'company'); $query = mysqli_query($conn,"select `message` FROM `data` where (`logged_user`='$_SESSION[ID]' and `name`='$_SESSION[frendid]') OR (`logged_user`='$_SESSION[frendid]' and `name`='$_SESSION[ID]')"); $user=$_SESSION['ID']; $rows=mysqli_num_rows($query); if ($rows>0) { while($display=mysqli_fetch_assoc($query)){ if($display["logged_user"]==$user){ echo "<p id ='right'> $display[message] </p>"; } else{ echo "<p id ='left'> $display[message] </p>"; } } } ?>
1 回答

四季花海
TA贡献1811条经验 获得超5个赞
=而不是==将比较转换为赋值。您的查询也需要更新以返回用户。它也应该被参数化。
$query = mysqli_prepare($conn, 'select message, logged_user FROM data where
(logged_user = ? and name = ?)
OR
(logged_user = ? and name = ?)');
mysqli_stmt_bind_param($query, 'ssss', $_SESSION['ID'], $_SESSION['frendid'], $_SESSION['frendid'], $_SESSION['ID']);
mysqli_stmt_execute($query);
有关更多信息,请参阅https://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php。
也是name身份证?这似乎永远不会匹配。
- 1 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消