Hi,
$alliance= '50';
$alliance ist jetzt also ein String.
if(!isset($alliance['alliance_id'])) {
isset($alliance['alliance_id']) müßte also immer false sein ($alliance ist ja ein String, kein Hash.
Die Bedingung ist demnach IMMER wahr, die Abfrage damit sinnlos.$q_planets = $db->query('SELECT system_id FROM planets WHERE planet_owner IN (SELECT user_id FROM user WHERE user_alliance='.$alliance['alliance_id'].') GROUP BY system_id');
$alliance ist doch immer noch ein String. Warum greifst Du schon wieder so drauf zu, als wäre es ein Hash?
cu,
Andreas
aber das erklärt noch nicht warum es bei werten unter 10 geht.