sql-befehl per php-Datei

hallo!
ich möchte gerne folgenden sql-datei per php-datei aufrufen:

 UPDATE ws_spieler SET w_staerke=w_staerke-10 WHERE w_staerke>90;
UPDATE ws_spieler SET w_staerke=w_staerke-8 WHERE w_staerke BETWEEN 80 AND 90;
UPDATE ws_spieler SET w_staerke=w_staerke-6 WHERE w_staerke BETWEEN 70 AND 79;
UPDATE ws_spieler SET w_staerke=w_staerke-4 WHERE w_staerke BETWEEN 60 AND 69;
UPDATE ws_spieler SET w_staerke=w_staerke-2 WHERE w_staerke BETWEEN 50 AND 59;
UPDATE ws_spieler SET w_staerke=w_staerke+2 WHERE w_staerke BETWEEN 35 AND 45;
UPDATE ws_spieler SET w_staerke=w_staerke+4 WHERE w_staerke BETWEEN 25 AND 34;
UPDATE ws_spieler SET w_staerke=w_staerke+6 WHERE w_staerke BETWEEN 15 AND 24;
UPDATE ws_spieler SET w_staerke=w_staerke+8 WHERE w_staerke BETWEEN 5 AND 14;
UPDATE ws_spieler SET w_staerke=w_staerke+10 WHERE w_staerke<5;

wenn ich den code direkt in phpmyadmin eingebe, funktioniert das nicht so wie gewünscht, da ws_spieler mit stärke 95 zb -10 bekommt, dann nochmals bei 85 -8 abgezogen bekommt, bei 77 -6 abgezogen bekommt und dann bei 71 endet. Soll aber nur von 95 auf 85 runtergehen und das geht glaub ich nur wenn man den befehl per SQL-Datei aufruft…

kann mir den code in php-form umschreiben? wär echt nett…

Jede Menge Fehler…

  1. falsches RDBMS. hier geht es um PostgreSQL, nicht um MySQL
  2. falsches SQL:
test=# select * from spieler;
 id | staerke
----+---------
  1 |      90
  2 |      80
  3 |      70
  4 |      60
(4 Zeilen)

Zeit: 0,155 ms
test=*# update spieler set staerke = staerke + case when staerke > 90 then 9 when staerke between 80 and 90 then 8 when staerke between 70 and 80 then 7 when staerke between 60 and 70 then 6 end ;
UPDATE 4
Zeit: 0,320 ms
test=*# select * from spieler;
 id | staerke
----+---------
  1 |      98
  2 |      88
  3 |      77
  4 |      66
(4 Zeilen)

Du darfst halt nicht viele einzelne SQL’s machen, die dann nacheinander ablaufen, sondern nur eines.

Andreas

achso, sorry das wusste ich nicht…

ok, also der befehl muss in einer zeile ausgeführt werden… kann mir jemand verraten wie ich das dann per mysql eingebe?

Immer noch falsches Forum, hier geht es um PostgreSQL, nicht MySQL.

Den Befehl kann man auch in die MySQL Shell eintippen oder per PHP abschicken.

Jein. Davon abgesehen, daß Du hier falsch bist: es geht nicht darum, das alles in einer Zeile einzugeben, sondern darum, dies in einem Befehl zu machen.

Andreas