Hello,
Ich habe jetzt die Zeile echo... durch
if($ro['score'] < $score) mysql_query("UPDATE score SET score='$score' WHERE user = '$user'") or die(mysql_error());
ersetzt.
Der Punktestand wird überschrieben... aber auch wenn er kleiner ist als der alte :-(
Was muss ich noch tun?
Die Bedingunge (if) bezieht sich auf einen Snapshot, also auf einen gefundenen Datensatz. Das Statement bezieht sich aber auf die gesamte Tabelle. Schau Dir mein anderes Posting an und mach es eben nur mit der Datenbank. das ist ohnehin die bessere Lösung. Der Datenbestand könnte sich nämlich zwischen der Abfrage für die Ermittlung Deines IF-Vergleichswertes und dem Sql-Statement schon wieder geändert haben. da hätte man die Tabelle oder zumindest den gefundenen Datensatz solange sperren müssen, bis die gesamte Transaktion erledigt ist.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau