Ergebnis 1 bis 6 von 6

Thema: Probleme mit MySQL-Schnipsel

  1. #1
    TP-Member
    Registriert seit
    Apr 2010
    Beiträge
    44

    Unhappy Probleme mit MySQL-Schnipsel

    Hallo. Ich habe schwierigkeiten bei folgendem Code:

    Code:
    SELECT  'date'
    FROM tabelle
    WHERE  'tld' =  'de'
    AND IF( (
    DATE_SUB( NOW( ) , INTERVAL 30 
    MINUTE ) >  'date' ) , (
    
      UPDATE tabelle SET  'online' =  '500', 
      'date' = NOW( )
    ),
    NULL
    ) AND SELECT  'online'
    Fehler:
    #1064 - 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 'UPDATE tabelle SET 'online' = '500', 'date' = NOW() ), NULL) AND SELECT ' at line 7

    Ich hoffe jemand kann mir helfen.

  2. #2
    TP-Supporter
    Registriert seit
    Dec 2006
    Beiträge
    475
    Du kannst in einem Select-Statement kein update unterbringen. Andersrum ginge es. Aber so nicht. Für diesen Fall sehe ich nur 2 Möglichkeiten:
    a) Mach aus dem Statement 2 Statements. Eins mit dem Update, danach das Select.
    b) Nutze MySQL-Funktionen. Näheres dazu findest Du im Handbuch.

  3. #3
    TP-Member
    Registriert seit
    Apr 2010
    Beiträge
    44
    Danke für die Antwort.
    Auch wenn ich das aufteile, gibt es Fehlermeldungen...

    Ich denke ich werde das IF-Argument mit PHP machen. Ich bin wohl zu blöd dafür.

  4. #4
    TP-Supporter
    Registriert seit
    Dec 2006
    Beiträge
    475
    Wie sieht es denn aus, wenn du es aufteilst?

    IF ist kein Argument sondern eine Bedingung.

  5. #5
    TP-Member
    Registriert seit
    Apr 2010
    Beiträge
    44
    Bedingung ebene.
    Da hatte ich das UPDATE rausgenommen und dann stand da im Prinzip SELECT... IF ...

    Ist aber auch nicht so wild, denn ich mache es gerade mit PHP. Nämlich in zwei Schritten, wie du bereits vorgeschlagen hast.

  6. #6
    TP-Specialist Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Da sind mehr Fehler als Buchstaben in dem Statement.

    1) Man schließt Tabellen-/Feldnamen in Backticks ein und nicht in Hochkomma. ` = Backtick ' = Hochkomma oder Single Quote
    2) Der Mischmasch aus verschiedenen Anweisungen geht nicht, wurde ja schon erwähnt
    3) Das Feld online dürfte ein numerischer Wert sein, also ist es falsch diesen Wert in Single Quotes zu packen. 500 != '500'

    Tutorials für MySQL IF und die verschiedenen Arten von Quotes (Single, Double, Backticks)

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Probleme mit TIMEDIFF() ab MySQL 5.0
    Von Flow09 im Forum Traum-Dynamik
    Antworten: 3
    Letzter Beitrag: 21.01.2008, 15:24
  2. Die TP Code-Schnipsel Sammlung
    Von phpBuddy im Forum Traum-Scripts
    Antworten: 8
    Letzter Beitrag: 28.07.2007, 01:54
  3. MySQL-Probleme bei all-inkl?
    Von oliveramberg im Forum Server & Provider
    Antworten: 8
    Letzter Beitrag: 20.05.2006, 12:06
  4. MySQL Update Probleme
    Von Sin im Forum Traum-Dynamik
    Antworten: 13
    Letzter Beitrag: 11.11.2005, 15:48
  5. Probleme mit mysql Zugang bei DW MX
    Von elwood67 im Forum Dreamweaver & andere Webeditoren
    Antworten: 1
    Letzter Beitrag: 29.08.2002, 14:46

Aktive Benutzer

Aktive Benutzer

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

     

Berechtigungen

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51