unlogischer fehler (mehrere num_rows werden addiert)

Kamephis

Mitglied
hi,
habe hier den teil eines script, der aus irgend einem grund nicht so funktioniert wie er soll; verstehe nicht, wo das problem ist, da das gleiche prinzip eine zeile drüber noch funktioniert, vllt weiß einer von euch rat:

PHP:
(davor wird irgendwie $clanH als xyz definiert)
$clan = $clanH;
$pts1 = mysql_query("SELECT * FROM adcup_group WHERE clan1='$clan' AND rclan1 > rclan2");
$pts2 = mysql_query("SELECT * FROM adcup_group WHERE clan2='$clan' AND rclan2 > rclan1");
$pts3 = mysql_query("SELECT * FROM adcup_group WHERE clan1='$clan' AND rclan1 = rclan2");
$pts4 = mysql_query("SELECT * FROM adcup_group WHERE clan2='$clan' AND rclan1 = rclan2");

$points = mysql_num_rows($pts1)*3 + mysql_num_rows($pts2)*3 + mysql_num_rows($pts3) + mysql_num_rows($pts4);
$wahl = mysql_query("UPDATE adcup_groupover SET points='$points' WHERE short='$clan'");
so: wenn clan1 gewonnen hat klappt es (also pts1 ist ok);
wenn clan2 aber gewonnen hat, dann bekommt clan1 die punkte (3 punkte für win); habe schon probiert mit größer oder kleiner, also einfach umgekehrt rclan1 und rclan2 und dann < dazwischen; klappt trotzdem nicht; hab keine idee warum...

Kann mir da wer helfen?

Dank im voraus!
 
Ich bin mir jetzt nicht ganz sicher, ob es daran liegt, aber bei Schattenbaum.net steht folgendes:
Erfolgte eine Abfrage von Daten einer Tabelle müssen die Daten wieder frei gegeben werden, bevor eine neue Abfrage erfolgen kann. Zu diesem Zweck wird die Abfrage "beendet".
Der entsprechende Code:
PHP:
mysql_free_result($pts1); // bzw. $pts2/$pts3
Ich würde die einzelnen num_rows in Variablen speichern, die kannst du weiter unten immer noch verwenden, egal, was mit der Tabelle passiert ist. ;)
 
Zurück