Problem mit ON DUPLICATE KEY UPDATE

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit ON DUPLICATE KEY UPDATE

    Hallo,

    wenn ich folgenden Code benutze wird ein neuer Eintrag angelegt und der vorhandene nicht geändert:

    PHP Code:
    $query="insert into login_konto (id, Nickname, Logins, Datum)
            values ('','"
    .$userinfo[uname]."','1','".$heute."')
            ON DUPLICATE KEY UPDATE Logins = Logins + 1 , Datum = '"
    .$heute."'";
    $ok=mysql_query($query) or die(mysql_error()); 
    Wo steckt da der Fehlerteufel?

    LG Sven

  • #2
    Kann man nicht sagen, wenn du die Tabellenstruktur geheim hältst. Wahrscheinlich weil du die ID von "login_konto" nicht angibst.

    Die mysql_* Funktionen sind übrigens veraltet und sollten nicht mehr verwendet werden.

    Strings gehören in Hochkomma geschrieben. Wenn "uname" keine Konstante ist, wirst du eine Fehlermeldung erhalten, falls du diese nicht unterdrückst.

    Comment


    • #3
      Hallo,

      die Tabellenstruktur schaut so aus:

      PHP Code:
      CREATE TABLE `login_konto` (
        `
      Idint(11NOT NULL,
        `
      Nicknamevarchar(50COLLATE utf8_unicode_ci DEFAULT NULL,
        `
      Loginsint(50) DEFAULT NULL,
        `
      Datumdate DEFAULT NULL
      ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

      Comment


      • #4
        Und warum denkst du, dass hier "ON DUPLICATE KEY" irgendwas bewirken sollte? Du hast ja gar keine Keys in der Tabelle.

        Comment


        • #5
          Originally posted by h3ll View Post
          Strings gehören in Hochkomma geschrieben. Wenn "uname" keine Konstante ist, wirst du eine Fehlermeldung erhalten, falls du diese nicht unterdrückst.
          Ab und zu sollte man schon noch selber mal coden. Natürlich gibt das keinen Fehler. Bestenfalls eine Notice, wie bei allen nicht definierten Variablen.

          Comment


          • #6
            Originally posted by Kiri View Post
            Bestenfalls eine Notice, wie bei allen nicht definierten Variablen.
            In meinen Augen ist eine Notice auch ein Fehler, denn schlampige Programmierung ist ein Fehler oder führt über Kurz oder Lang zu Fehlern!
            Außerdem landen Notice-Meldungen ins Log-File, und das ist absolut nicht nötig.

            Comment

            Working...