选择我喜欢使用PHP的用户
我需要从两个表中使用PHP进行查询。第一个表包含用户信息,如用户名、年龄、国家/地区 在我的应用程序中,用户可以像其他用户一样,所以我创建了第二个表,其中有两个字段myName、userName和userName,它们的值将与第一个表中的值相同 我需要的是选择我喜欢的所有用户 第一张表:选择我喜欢使用PHP的用户,php,Php,我需要从两个表中使用PHP进行查询。第一个表包含用户信息,如用户名、年龄、国家/地区 在我的应用程序中,用户可以像其他用户一样,所以我创建了第二个表,其中有两个字段myName、userName和userName,它们的值将与第一个表中的值相同 我需要的是选择我喜欢的所有用户 第一张表: userName | age | country -------------------------------------- name1 | 20 | USA name2
userName | age | country
--------------------------------------
name1 | 20 | USA
name2 | 21 | UK
name3 | 23 | UAE
name4 | 33 | India
name5 | 19 | Canada
name6 | 25 | USA
第二张表:
userName myName
name1 | ahmed
name2 | Mic
name3 | ahmed
name4 | Danil
name5 | ahmed
name5 | Mic
name6 | ahmed
从上表可以看出,Ahmed喜欢3个用户名。我需要使用PHP来选择依赖于一篇文章的三个用户
谢谢,我希望问题很清楚假设您的第一个表名为users,第二个表名为users\u likes,那么您应该有如下查询:
SELECT u.* FROM users u
INNER JOIN users_likes ul ON ul.userName = u.userName
WHERE ul.myName = 'ahmed'
首先:我假设您使用的是像MySQL这样的关系数据库,如果是这样的话,那么您将错误地处理这个问题 为什么??如果一个用户,即John,喜欢Brandon和Jacob,但Brandon决定他的名字现在需要是Brando,因为他有奇怪的昵称,那么用户Brandon将从所有未来的查询中删除,因为他的名字已经更改。或者如果数据库中有两个Brandon Smith怎么办?你不想两者都喜欢 我们解决这个问题的方法是使用关联表和联接。这就是主键“id”在数据库中如此重要的原因。通过这种方式,只要用户的id没有改变,除非用户被删除,否则不会发生这种情况,我们可以保留这些关系
Table 'user'
id | first_name | last_name | email |
1 | John | Doe | a@b.org |
2 | Brandon | Smith | c@d.org |
3 | Jacob | Smidt | e@f.org |
Table 'user_like'
id | user_id | liked_user_id
1 | 1 | 2
2 | 1 | 3
因此,您将选择user并加入user\u like,其中user\u id=user.id,它将返回所有所需的user\u id
就查询而言,它确实为您创建了更多的工作,但它使数据库更加可靠。这些是数据库表吗?也许吧?