我正在创建一个社交网络,我需要向用户展示他们关注了多少人以及有多少人关注了他们(关注者和关注者)。user_to我想将中的值相加user_from,当前登录的用户是关注某人或收到关注的人。我正在使用下面的代码:$user_follow_query = $con->prepare('SELECT SUM(user_to) FROM following WHERE user_to = ?');$user_follow_query->bind_param("s", $username);$user_follow_query->execute();$user_follow_query->bind_result($followers); $user_follow_query_result = $user_follow_query->get_result();while ($row = $user_follow_query_result->fetch_assoc()) { $followers = $row['user_to'];}但我收到这个错误:( ! ) Notice: Undefined index: user_to in C:\wamp64\www\theshow\profile.php on line 38在这一行:$followers = $row['user_to'];有什么帮助吗?
1 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
您面临的直接问题是您需要为查询返回的列添加别名,以便您可以在外部查询中访问它。
所以像这样:
SELECT SUM(user_to) sum_user_to FROM following WHERE user_to = ?
然后,您可以使用 访问结果列$row['sum_user_to']。
但我也非常怀疑您的查询是否符合您的要求。如果您想计算关注者的数量,那么这就是满足条件的行数WHERE,因此您需要COUNT(*)的不是SUM():
SELECT COUNT(*) no_followers FROM following WHERE user_to = ?
如果您想要关注者和被关注者,正如您的问题中所解释的,那么:
SELECT COUNT(*) no_relations
FROM following
WHERE ? in (user_to, user_from)
- 1 回答
- 0 关注
- 102 浏览
添加回答
举报
0/150
提交
取消