Alex: REPLACE INTO funktioniert nicht

Hallo!

Ich möchte mit PHP einen Datensatz in einer MySQL-Datenbank aktualisieren. Leider funktioniert dies mit folgender Anweisung nicht:

REPLACE INTO $tbl_empf(Mail,Name,Vorname,Sprache) VALUES('$mail','$nachname','$vorname','$sprache') WHERE ID='$id'

Sieht jemand von Euch einen Fehler?

Danke!

Gruß

Alex

  1. Hi,

    Leider funktioniert dies mit folgender Anweisung nicht:

    "funktioniert nicht" funktioniert nicht. Fehlerbeschreibung, bitte.

    Sieht jemand von Euch einen Fehler?

    Nicht ohne Informationen über das Tabellenlayout.

    Cheatah

    --
    X-Will-Answer-Email: No
    1. "funktioniert nicht" funktioniert nicht. Fehlerbeschreibung, bitte.

      Ich erhalte garkeine Fehlermeldung. Die Daten werden einfach nicht aktualisiert.

      Nicht ohne Informationen über das Tabellenlayout.

      Datenfelder: ID, Mail, Name, Vorname, Sprache.

      1. Hi,

        "funktioniert nicht" funktioniert nicht. Fehlerbeschreibung, bitte.
        Ich erhalte garkeine Fehlermeldung. Die Daten werden einfach nicht aktualisiert.

        eine Fehlerbeschreibung besteht nicht nur aus der Fehlermeldung, sondern auch aus Deiner Fehleranalyse; z.B. dem Ergebnis eines SELECTs mit der gleichen WHERE-Clause.

        Nicht ohne Informationen über das Tabellenlayout.
        Datenfelder: ID, Mail, Name, Vorname, Sprache.

        Die Typen der Felder würden mich ebenfalls interessieren.

        Cheatah

        --
        X-Will-Answer-Email: No
  2. REPLACE INTO $tbl_empf(Mail,Name,Vorname,Sprache) VALUES('$mail','$nachname','$vorname','$sprache') WHERE ID='$id'

    is ne komische Syntax !

    mach draus:

    mysql_query("UPDATE $tbl_empf set Mail = '$mail', Name = '$nachname', Vorname = '$vorname', Sprache = '$sprache' where ID = '$id'");

    auserdem würde ich dir abraten großbuchstaben und Tabellen und SPaltennamen zu verwenden da alles Case Sensitive ist !

    mfg

    Korbinian Bachl
    www.whiskyworld.de

    1. Danke! Funktioniert jetzt. Die gleiche Syntax habe ich gestern auch schon probiert - hat trotzdem nicht geklappt. Naja, vielleicht hatte sich ein Tippfehler eingeschlichen. Ich vermute, dass der Befehl REPLACE INTO keine WHERE-Abfrage zulässt.

      Gruß

      Alex

    2. Hi,

      REPLACE INTO $tbl_empf(Mail,Name,Vorname,Sprache) VALUES('$mail','$nachname','$vorname','$sprache') WHERE ID='$id'
      is ne komische Syntax !

      sie ist dazu da, im Falle der Nichtexistenz eines entsprechenden Datensatzes ein INSERT INTO auszuführen.

      Cheatah

      --
      X-Will-Answer-Email: No
      1. sie ist dazu da, im Falle der Nichtexistenz eines entsprechenden Datensatzes ein INSERT INTO auszuführen.

        Cheatah

        OHA ! - wusste ich garnicht... oh schande über mein haupt und sorry für meine desinformation.. :O

        mfg

        Korbinian Bachl
        www.whiskyworld.de

        1. Hi,

          OHA ! - wusste ich garnicht... oh schande über mein haupt

          warum? Man muss doch nicht alles wissen - und dieses Forum ist dazu da, dies auszugleichen. Also alles im grünen Bereich :-)

          Cheatah

          --
          X-Will-Answer-Email: No
  3. Hallo,

    Ich möchte mit PHP einen Datensatz in einer MySQL-Datenbank aktualisieren. Leider funktioniert dies mit folgender Anweisung nicht:

    REPLACE INTO $tbl_empf(Mail,Name,Vorname,Sprache) VALUES('$mail','$nachname','$vorname','$sprache') WHERE ID='$id'

    Sieht jemand von Euch einen Fehler?

    Wenn die ID numerisch ist, dann diese nicht in '...' setzen, also WHERE ID=$id und vor den (-Klammern mal noch je ein Leerzeichen einfuegen.

    MfG, Thomas