我正在創建一個社交網絡,我需要向用戶展示他們關注了多少人以及有多少人關注了他們(關注者和關注者)。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 關注
- 131 瀏覽
添加回答
舉報
0/150
提交
取消