Wenn du dir deinen ersten Code ansiehst wirst du feststellen das dort der User definiert wird. Im zweiten Code tust du das nicht. Wenn du nicht sagts wer die Bonuslose/punkte bekommen soll dann ist die Datenbank so spendabel und schreibt jedem User etwas gut.

PHP-Code:
WHERE ..... uid".$_SESSION['uid']); 
Frei übersetzt führe den Befehl bei dem Datensatz aus der diese Userid hat.

Viel Erfolg
Bonzai