Hallo,
$result = mysql_query("select * from $prefix"._users." WHERE user_aim IS NOT NULL AND user_aim != '' ORDER BY uname DESC");
Warum werden alle Daten abgefragt, wenn dich das gar nicht interessiert? Für solche Arten der Abfrage kennt SQL Aggregat-Funktionen wie COUNT().
$result2 = mysql_query("select * from $prefix"._users." where uid='$random' ORDER BY uname DESC");
D.h bedeutet für mich, dass eine spezielle User-ID dich überhaupt nicht interessiert, da Du ja immer irgendwelche zufälligen User aussuchst. imho gehört die zusätzliche Bedingung in dieses Statement und nicht in obiges.
Ach ja, (ohne mich jetzt bei MySQL wirklich auszukennen) gibt es nicht da nicht so etwas wie ORDER BY RANDOM(), oder so ähnlich. Ich würde an Diener Stelle einmal das Handbuchg konsultieren.
Grüße
Klaus