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;
}
Mysql Eintrag
- IceWave
- Geschlossen
- Erledigt
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
-
-
Sind deine query-Variablen alle groß genug? Erhöhe sie gegebenenfalls mal.
Bei der Durchführung welches Queries kommt der Fehler denn? Lasse dir die queries mal mit einem print ausgeben. -
ja war der Fehler, eine query war zu klein.
Der Besitzer bleibt jedoch beim Eintrag auch auf 0.
Ich habs oben mal reineditiert wie ich den Eintrag erstelle.
-
Das query2 muss in das public OnRegisterInsert nach dem auslesen des Caches hin.
-
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. -
super Danke!
-
breadfish.de
Hat das Thema geschlossen.