为了账号安全,请及时绑定邮箱和手机立即绑定

将所有列相加

将所有列相加

PHP
慕雪6442864 2023-08-26 19:01:21
我正在创建一个社交网络,我需要向用户展示他们关注了多少人以及有多少人关注了他们(关注者和关注者)。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)


查看完整回答
反对 回复 2023-08-26
  • 1 回答
  • 0 关注
  • 70 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信