gpt4 book ai didi

php - 试图弄清楚 MySQL 查询的作用(不是我的)

转载 作者:行者123 更新时间:2023-11-29 13:50:19 27 4
gpt4 key购买 nike

我有以下可能与此查询相关的 MySQL 表:

Table: user_follow
Columns: | Type:
-----------|---------
id | INT(11)
follower | INT(11)
user | INT(11)
subscribed | INT(11)

ID是关注者的ID,关注者是关注用户的人,订阅是关注用户的时间。关注者和用户将是用户表中人员的 ID:

Table: users
Columns: | Type:
----------|---------
id | INT(11)
username | INT(11)

这不是完整的用户表,但是对于此 MySQL 查询正在执行的任何操作来说,这应该足够了。 users表中的ID是用户的ID,username是用户名。所以这是我试图弄清楚它在做什么的查询。我相信它正在尝试从用户的数据库中获取用户名:

SELECT `ufollower`.`id` AS follower_id, `ufollower`.`username` AS follower_name,
`ufollowed`.`id` AS user_id, `ufollowed`.`username` AS user_name
FROM `user_follow`
JOIN users ufollower ON `ufollower`.`id` = `user_follow`.`follower`
JOIN users ufollowed ON `ufollowed`.`id` = `user_follow`.`user`
WHERE `user_follow`.`user` = :p_id

我尝试运行的完整代码是这样的(包括查询):

//Get people who this person is following
$following = $db->prepare("SELECT `ufollower`.`id` AS follower_id, `ufollower`.`username` AS follower_name, `ufollowed`.`id` AS user_id, `ufollowed`.`username` AS user_name FROM `user_follow` JOIN users ufollower ON `ufollower`.`id` = `user_follow`.`follower` JOIN users ufollowed ON `ufollowed`.`id` = `user_follow`.`user` WHERE `user_follow`.`user` = :p_id");
$following->bindValue(":p_id",$p_id,PDO::PARAM_STR);
$following->execute();
$following = $following->fetchAll(PDO::FETCH_ASSOC);
var_dump($following);

//If I do $following = $following->fetch(); and var_dump that, it returns "bool(false)" which I learned the other day that it couldn't do the query or there were no results found or something

另外,我不是 MySQL 专家,所以如果您能提供一个也可能有效的答案,那就太好了。我可以做简单的查询,但是当涉及到连接表时,我不知道发生了什么。

最佳答案

基本上,user_follow 表连接另外两个用户,其中一个用户关注另一个用户,并且此查询获取这两个用户的一个特定关注。

这个查询的解释可以描述为:
对于 id :id 的 user_follow 获取正在关注另一用户 (ufollowing) 的一个用户 (ufollower) 及其 ID 和用户名。

关于php - 试图弄清楚 MySQL 查询的作用(不是我的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16778894/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com