ऐसा लगता है कि MySQL में एक वैरिएबल सेट करना एक अलग क्वेरी माना जाता है। (fetch*() एकाधिक कॉल को हैंडल नहीं कर सकता)
तो इस तरह की समस्या वाले लोगों के लिए:
$db->query("SET @rank = 0 ;");
$db->fetchAll("SELECT
@rank := @rank +1 AS rank,
SUM(user_scoring_data.user_points) AS user_points,
league_team.user_id
FROM league_team
RIGHT JOIN user_scoring_data ON league_team.league_team_id = user_scoring_data.league_team_id
WHERE league_id = '$league_id' GROUP BY user_scoring_data.league_team_id
ORDER BY user_points DESC"
);