MySQL - Spieler wird nicht gespeichert

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
  • Guten Abend,


    habe mal wieder ein kleines Problem mit MySQL:
    Wenn ich mich registriere wird alles was ich möchte in die Datenbank geschrieben. Wenn ich mich einlogge wird auch alles richtig geladen.
    Nur wenn ich mich auslogge wird nichts gespeichert. Die Funktion "savePlayer" wird bei OnPlayerDisconnect aufgerufen. Dass sie überhaupt aufgerufen wird habe ich bereits getestet, nur in der Datenbank passiert einfach nichts.
    Vielleicht kann mir ja jemand von euch eine Hilfestellung leisten... Danke schon mal im Voraus!


    savePlayer Funktion

    stock savePlayer(playerid)
    {
    if(!PlayerInfo[playerid][loggedin])return 1;
    new query[512];
    format(query, sizeof(query), "UPDATE user SET level='%i', alevel='%i', geld='%i', skin='%i', fraktion'%i', rang='%i' WHERE id='%i'",
    PlayerInfo[playerid][level],
    PlayerInfo[playerid][alevel],
    PlayerInfo[playerid][geld],
    PlayerInfo[playerid][skin],
    PlayerInfo[playerid][fraktion],
    PlayerInfo[playerid][rang],
    PlayerInfo[playerid][dbid]);
    mysql_function_query(dbhandle, query, false, "", "");
    return 1;
    }

  • Wenn ich den Debug Modus aktiviere wird bei mir weder eine mysql_log.txt erstellt, noch wird etwas in die server_log.txt geschrieben.
    Mir fällt gerade auf dass überhaupt nichts geloggt wird, obwohl der Server startet und alles:

    Code
    ----------Loaded log file: "server_log.txt".----------SA-MP Dedicated Server----------------------v0.3z, (C)2005-2014 SA-MP Team[21:30:22] filterscripts = ""  (string)[21:30:22] [21:30:22] Server Plugins[21:30:22] --------------[21:30:22]  Loading plugin: sscanf[21:30:22] [21:30:22]  ===============================[21:30:22]       sscanf plugin loaded.     [21:30:22]          Version:  2.8.1        [21:30:22]    (c) 2012 Alex "Y_Less" Cole  [21:30:22]  ===============================[21:30:22]   Loaded.[21:30:22]  Loaded 1 plugins.[21:30:22] I couldn't load any gamemode scripts. Please verify your server.cfg[21:30:22] It needs a gamemode0 line at the very least.

  • Musste den Server bloß als Admin starten :dash:


    Hier die Logs

    Code
    [19:07:04] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE user SET level='1', alevel='5', geld='50000', skin='299',", callback: "(null)", format: "(null)"
    [19:07:04] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [19:07:04] [ERROR] CMySQLQuery::Execute[] - (error #1064) 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 ''1', rang='12' WHERE id='1'' at line 1
    [19:07:04] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
  • Beitrag von Eljero ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Der Fehler liegt hier, bei Fraktion:
    format(query, sizeof(query), "UPDATE user SET level='%i', alevel='%i', geld='%i', skin='%i', fraktion'%i', rang='%i' WHERE id='%i'",
    zu:
    format(query, sizeof(query), "UPDATE user SET level='%i', alevel='%i', geld='%i', skin='%i', fraktion='%i', rang='%i' WHERE id='%i'",


    Da hat das Gleichzeichen gefehlt.
    Im Nachhinein wenn man den Log kennt fällt einem der Fehler sofort auf. Das Beispiel mit dem Wald vor lauter Bäumen kennen wir ja alle. :D

  • Beitrag von Andi_Miller ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.