Ergebnis 1 bis 3 von 3
  1. #1
    Erfahrener Benutzer
    Registriert seit
    17.03.2005
    Beiträge
    191
    Renommee-Modifikator
    8

    Standard IF, THEN in UPDATE syntax

    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)

  2. #2
    HTML-Guru Avatar von Frank
    Registriert seit
    11.01.2006
    Ort
    Berlin (Deutschland)
    Alter
    20
    Beiträge
    2.260
    Renommee-Modifikator
    9

    Standard

    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

  3. #3
    Erfahrener Benutzer
    Registriert seit
    17.03.2005
    Beiträge
    191
    Renommee-Modifikator
    8

    Standard

    MySQL AB :: MySQL 5.1 Referenzhandbuch :: 19.2.10.1 IF-Anweisung
    darauf hatte ich mich bezogen.
    aber so klappt es, danke dafür

    Falls es noch mal jemand braucht:
    Code:
    UPDATE
        `gameuser`
    SET
        `hunger`   = IF(`hunger`   > 0,`hunger`-1  ,`hunger`  ),
        `happines` = IF(`happines` < 4,`happines`+1,`happines`)
    WHERE
        `id` = {$user['id']}
    LIMIT 1

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Create Table, syntax error
    Von Frank im Forum Datenbanken - z.B. MySQL
    Antworten: 2
    Letzter Beitrag: 05.02.2007, 08:02
  2. Hilfe: SQL Syntax Error
    Von RWO87 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 05.08.2006, 17:38
  3. #1064 - You have an error in your SQL syntax;
    Von FleyerShaver im Forum Datenbanken - z.B. MySQL
    Antworten: 4
    Letzter Beitrag: 05.07.2006, 19:53
  4. Ich find einfach den Fehler beim UPDATE nicht
    Von gollum1990 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 08.05.2006, 21:54
  5. Syntax error->Find den Fehler nicht
    Von CrackPod im Forum Datenbanken - z.B. MySQL
    Antworten: 4
    Letzter Beitrag: 23.12.2005, 21:29

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •