我正在 PHP 中创建一个收件箱消息系统,例如 Facebook 的。出于这个原因,我在 MySQL 数据库中创建了 2 个表,称为conversation
和inbox_messages
。
这个概念是当用户想要与另一个用户开始对话时,我将一条记录插入到conversation
具有唯一 id 的表中,该表有 4 行:
id
user_one
user_two
date
我想做的是:当用户登录时,获取从登录创建的用户名会话,然后使用 mysqli 准备好的语句和选择查询,检查用户是否conversation
与另一个用户在表中。如果是这样,请附加在 DIV 中。
我面临的问题是查询字符串,尤其是 OR OPERATOR,似乎不起作用。我想在查询中做的是: if user_one
is equal with $_SESSION['username']
OR user_two
is equal with same $_SESSION['username']
,所以如果登录的用户在表行user_one
或行中user_two
附加对话ID。
$par1 = $_SESSION['username'];
$par2 = $_SESSION['username'];
//$par1 and $par2 holds the same name
$query = "SELECT id FROM conversation WHERE user_one = ? OR user_two = ?";
if ($stmt = $mysqli->prepare($query)) {
$stmt->bind_param("ss", $par1, $par2);
$stmt->execute();
$stmt->bind_result($id);
$stmt->fetch();
if ($stmt->num_rows == 1) {
echo $id;
}
$stmt->free_result();
$stmt->close();
}