Lothar: Was ist hier (insert-anweisung) falsch?

Hi,

was ist in dieser mysql-insert-anweisung falsch?

$query="insert into user UserLastvisit values $Datum where UserName=$UserName";

query: insert into user UserLastvisit values 1070615169 where UserName=Lothar

Fehlermeldung: 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 'UserLastvisit values usw.

Grüße und vielen Dank für die Hilfe
Lothar

  1. Hi,
    Versuchs mal mit
    $query="insert into user UserLastvisit values '$Datum' where UserName='$UserName'";

    MfG Eiche

    1. Hi,

      beide Tips helfen nicht :-(

      Lothar

      1. Gibt er eine Fehlermeldung aus?

  2. Hallo!

    Bin mir zwar nicht ganz sicher, d ich mmich bei MY SQL Datenbanken nicht so auskenne, aber bei Oracle müsste man folgendes schreiben
    query: insert into user UserLastvisit values 1070615169 where UserName='Lothar'!

    Versuchs mal mit den ''!

    MFg
     Carina

  3. Hallo,

    was ist in dieser mysql-insert-anweisung falsch?

    query: insert into user UserLastvisit values 1070615169 where UserName=Lothar

    Fehlermeldung: 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 'UserLastvisit values usw.

    Von der Syntax her erwartet SQL nach dem Tabellennamen eine in Klammern stehende Liste von Feldnamen und nach Values eine in Klammern stehende Liste von Werten. Also:

    insert into user (UserLastvisit) values (1070615169) where UserName=Lothar

    Aber! Ich übersetze mal:
    Füge einen neuen Datensatz an die Tabelle "user" an, wenn in _diesem_ Datensatz das Feld mit dem Namen "UserName" den Wert der Konstante Lothar hat. Das Feld mit dem Namen "UserLastvisit" erhält dabei den Wert 1070615169.

    Wie soll es möglich sein, dass in einem neuen Datensatz schon ein Wert in einem feld steht? Also:

    insert into user (UserLastvisit) values (1070615169)

    Das geht natürlich nur, wenn UserLastvisit einen numerischen datentyp hat, sonst:

    insert into user (UserLastvisit) values ('1070615169')

    viele Grüße

    Axel

    1. Aber natürlich.
      (den wald vor lauter bäumen nicht sehen)

      Was Lothar gemeint hat war ein UPDATE.

      $query="UPDATE user SET (UserLastvisit) VALUES ('$Datum') WHERE UserName='Lothar'"

      Hoffe das ich mich nicht im Syntax verhauen habe.

      1. Moin!

        Was Lothar gemeint hat war ein UPDATE.

        $query="UPDATE user SET (UserLastvisit) VALUES ('$Datum') WHERE UserName='Lothar'"

        Hoffe das ich mich nicht im Syntax verhauen habe.

        Doch. Komplett.

        Lothar hat die UPDATE-Syntax mit dem Befehl INSERT benutzen wollen, und du willst die INSERT-Syntax mit dem Befehl UPDATE benutzen. Kann beides nicht funktionieren!

        - Sven Rautenberg

        --
        "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
        (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
        1. Stimmt

          $query="UPDATE user SET (UserLastvisit='$Datum') WHERE UserName='Lothar'"

          Passt's jetzt?

          1. Moin!

            Stimmt

            $query="UPDATE user SET (UserLastvisit='$Datum') WHERE UserName='Lothar'"

            Passt's jetzt?

            Zuviele Klammern.

            - Sven Rautenberg

            --
            "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
            (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
          2. Hi,

            habe jetzt:

            update user set UserLastvisit=1070625134 where UserNameneu='Lothar' als query, in phpmyadmin klappts auch, aber im Script selber nicht.

            $result=false :-(

            Weiß einer, warum?

            Grüße, Lothar

    2. Aber! Ich übersetze mal:
      Füge einen neuen Datensatz an die Tabelle "user" an, wenn in _diesem_ Datensatz das Feld mit dem Namen "UserName" den Wert der Konstante Lothar hat. Das Feld mit dem Namen "UserLastvisit" erhält dabei den Wert 1070615169.

      Wie soll es möglich sein, dass in einem neuen Datensatz schon ein Wert in einem feld steht? Also:

      No logo... Beim lesen dieser Zeilen wurde mir, wie auch Eich im nächsten Posting sofort klar, was falsch lief.
      In der Tat, ich meinte "update" :-))
      Argh, ist mir passiert, weil ich die Spalte UserLastvisit erst nachträglich eingefügt habe und sie somit vollkommen leer war. Doofer Fehler.

      Danke an alle

      Lothar