显示用户名相同的mysql数据

时间:2012-08-01 17:27:11

标签: php mysql database match username

我有一个mysql表,其中包含我预订系统上所有航班预订的数据。当用户预订航班时,该预订的详细信息将与其用户名一起存储在该表中。

现在,我正在创建一个页面,其中所有用户的先前航班都显示在HTML表格中,除了将结果过滤到仅来自该用户的代码之外,一切都有效。

这是我正在使用的代码(部分);

$query_string = "SELECT name, seats, departure, destination, class, username, miles, timestamp FROM $tablename WHERE username IN ('$username')";

username字段是存储预订航班用户名的用户的位置,$username变量包含当前登录用户的用户名。我要做的只是显示$username匹配username的字段(因此只显示当前用户的预订)。

当我使用上面没有WHERE username IN ('$username')的代码时,它会显示所有数据,但是当我添加上面的代码时,它会在匹配时显示任何内容。

如果有人可以帮我修复我的代码,我会非常感激。 谢谢!

1 个答案:

答案 0 :(得分:0)

您错误地使用了ININ比较逗号分隔的字符串或值列表。这可以是文字:

WHERE username IN ('user1', 'user2', 'user3')

或者它可以来自子查询:

WHERE username IN (SELECT username FROM users)

如果您想要完全匹配,则WHERE子句应为

WHERE username = '$username'

如果仍然无效,您必须验证您是否正在向数据库发送正确的查询。

echo $query_string;
相关问题