Problem mit ON DUPLICATE KEY UPDATE

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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.

    Kommentar


    • #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

      Kommentar


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

        Kommentar


        • #5
          Zitat von h3ll Beitrag anzeigen
          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.

          Kommentar


          • #6
            Zitat von Kiri Beitrag anzeigen
            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.

            Kommentar

            Lädt...
            X