• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IF, THEN in UPDATE syntax

Status
Für weitere Antworten geschlossen.

Schnuff

Neues Mitglied
hallo, ich versuche gerade eine tabelle am übertreten ihres bereiches zu hindern:
Code:
UPDATE
  `gameiventory`
SET
  IF `hunger`>0 THEN
    `hunger`=`hunger`-1
  END IF
  IF `happines`<4 THEN
    `happines`=`happines`+1
  END IF
WHERE
  `id` = {$user['id']}
LIMIT 1

leider scheint mysql meine IF-abfragen nicht zu mögen, die fliegen mir hier immer um die ohren (bei der mysql_error(); ausgabe...)
der fehler:
Code:
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server
version for the right syntax to use near
'IF `hunger`>0 THEN `hunger`=`hunger`-1 END IF	IF `happines`<4' at line 4

Grüße: Schnuff (ein verzweifelter, mit ganz vielen if-alpträumen)
 
Werbung:
Ich finde in der Documentation von MySQL deinen verwendeten Syntax nicht.
Laut MySQL:
IF(expr1,expr2,expr3)

If expr1 is TRUE (expr1 <> 0 and expr1 <> NULL) then IF() returns expr2; otherwise it returns expr3. IF() returns a numeric or string value, depending on the context in which it is used.

mysql> SELECT IF(1>2,2,3);
-> 3

Dann müsste deine Query glaube ich so aussehen
Code:
UPDATE
  `gameiventory`
SET
  `hunger` = IF(`hunger`>0,`hunger`-1,`hunger`)
  `happines` = IF(`happines`<4,`happines`+1,`hapiness`)
WHERE
  `id` = {$user['id']}
LIMIT 1

lg Ch3ck3r
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben