将所有列相加

我正在创建一个社交网络,我需要向用户展示他们关注了多少人以及有多少人关注了他们(关注者和关注者)。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'];

有什么帮助吗?


慕雪6442864
浏览 80回答 1
1回答

明月笑刀无情

您面临的直接问题是您需要为查询返回的列添加别名,以便您可以在外部查询中访问它。所以像这样: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_relationsFROM following WHERE ? in (user_to, user_from)
打开App,查看更多内容
随时随地看视频慕课网APP