Mysql Eintrag

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • if(strlen(inputtext)>3)
    {
    //REGISTER
    mysql_escape_string(inputtext,passwort,dbverbindung);
    format(query,sizeof(query),"INSERT INTO user (username,password,level) VALUES ('%s',MD5('%s'),'1')",name,passwort);
    mysql_tquery(dbverbindung,query,"OnRegisterInsert","i",playerid);


    format(query2,sizeof(query2),"INSERT INTO scheine (besitzer,autoschein,motorradschein,lkwschein,flugschein,waffenschein1,waffenschein2) VALUES ('%i','0','0','0','0','0','0')",licInfo[playerid][besitzer]);
    mysql_tquery(dbverbindung,query2);
    public OnRegisterInsert(playerid)
    {
    licInfo[playerid][besitzer]=cache_insert_id(dbverbindung);
    return 1;
    }

    2 Mal editiert, zuletzt von IceWave () aus folgendem Grund: Mysql Version angehängt

  • Okay, aus welchem Grund?


    Weil sonst OnRegisterInsert und der query2 zur ziemlich gleichen Zeit aufgerufen werden würde oder?






    Noch eine kleine Frage zur Datenbank.
    Kann in der neuen Tabelle jetzt keine Einträge und nichts bearbeiten..
    Diese Tabelle enthält keine eindeutige ("unique") Spalte. Gitter-Bearbeitungsfunktion, Kontrollkästchen, Bearbeiten, Kopieren und Löschen von Links sind nicht verfügbar.
    Das einzige was in dieser Tabelle anders ist, ist eigentlich nur, dass ich hier keine ID habe die automatisch raufgezählt wird. liegt das da dran?

  • Ja, genau. Wahrscheinlich wird query2 sogar vor dem Callback ausgeführt, und deshalb steht da eine 0.


    Ja, der Fehler kommt weil du keine Spalte als Schlüsselfeld deklariert hast, sprich es kann vorkommen, dass ein Datensatz nicht mehr eindeutig identifiziert werden kann.
    Am besten du fügst einfach noch eine Spalte ID ein, mit Auto Increment, die keine Bedeutung für dich hat.