选择我喜欢使用PHP的用户

选择我喜欢使用PHP的用户,php,Php,我需要从两个表中使用PHP进行查询。第一个表包含用户信息,如用户名、年龄、国家/地区 在我的应用程序中,用户可以像其他用户一样,所以我创建了第二个表,其中有两个字段myName、userName和userName,它们的值将与第一个表中的值相同 我需要的是选择我喜欢的所有用户 第一张表: userName | age | country -------------------------------------- name1 | 20 | USA name2

我需要从两个表中使用PHP进行查询。第一个表包含用户信息,如用户名、年龄、国家/地区

在我的应用程序中,用户可以像其他用户一样,所以我创建了第二个表,其中有两个字段myName、userName和userName,它们的值将与第一个表中的值相同

我需要的是选择我喜欢的所有用户

第一张表:

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


就查询而言,它确实为您创建了更多的工作,但它使数据库更加可靠。

这些是数据库表吗?也许吧?