錯誤在第 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 關注
- 134 瀏覽
添加回答
舉報
0/150
提交
取消