将所有列相加
Add up all of the columns
我正在创建一个社交网络,我需要向用户显示他们关注了多少人以及关注了多少人(followers 和 following)。我想将 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'];
有什么帮助吗?
您的直接问题是您需要为查询返回的列设置别名,以便您可以在外部查询中访问它。
所以像这样:
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)
我正在创建一个社交网络,我需要向用户显示他们关注了多少人以及关注了多少人(followers 和 following)。我想将 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'];
有什么帮助吗?
您的直接问题是您需要为查询返回的列设置别名,以便您可以在外部查询中访问它。
所以像这样:
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)