Speicherungs Fehler?

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



  • Habe das genau so:


    Code
    new querystring[512],str[256];
    			format(querystring,512,"UPDATE accounts SET Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Fraktion = '%d', Adminlevel = '%d', Mute = '%d', Baned = '%d',",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned],SpielerInfo[playerid][pName]);
    			format(str,256," Fraktionsleader = '%d', Rang = '%d', Job = '%d', Skin = '%d', Warns = '%d' WHERE Name = '%s'",SpielerInfo[playerid][pFraktionsleader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pJob],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pWarns],SpielerInfo[playerid][pName]);
    			strcat(querystring,str);
    			mysql_query(querystring);


    Code
    new str[300];
            format(str,300,"SELECT Level, Geld, Kills, Tode, Fraktion, Adminlevel, Mute, Baned, Fraktionsleader, Rang, Job, Warns Skin FROM accounts WHERE Name = '%s'", SpielerInfo[playerid][pName]);
            mysql_query(str);
            mysql_store_result();
    		if(mysql_fetch_row_format(str))
    		{
    			sscanf(str,"p<|>ddddddddddddd",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pTode], SpielerInfo[playerid][pFraktion], SpielerInfo[playerid][pAdminlevel], SpielerInfo[playerid][pMute], SpielerInfo[playerid][pBaned], SpielerInfo[playerid][pFraktionsleader], SpielerInfo[playerid][pRang], SpielerInfo[playerid][pJob], SpielerInfo[playerid][pSkin], SpielerInfo[playerid][pWarns]);
    		}
    		mysql_free_result();


    Passiert nichts in der Datenbank, teste das ganze damit:


  • Dann bin ich raus. Du kannst höchstens die `` hinzufügen, vielleicht sind die bei deinem Plugin/DB doch relevant, wobei die chancen ziemlich klein sind, dass das so ist.



    Ich hab aber noch einen Fehler beim Laden entdeckt:
    format(str,300,"SELECT Level, Geld, Kills, Tode, Fraktion, Adminlevel, Mute, Baned, Fraktionsleader, Rang, Job, Warns Skin FROM accounts WHERE Name = '%s'", SpielerInfo[playerid][pName]);
    Zwischen Warns und Skin fehlt ein Komma.


    format(str,300,"SELECT Level, Geld, Kills, Tode, Fraktion, Adminlevel, Mute, Baned, Fraktionsleader, Rang, Job, Warns, Skin FROM accounts WHERE Name = '%s'", SpielerInfo[playerid][pName]);

  • format(str,300,"SELECT Level, Geld, Kills, Tode, Fraktion, Adminlevel, Mute, Baned, Fraktionsleader, Rang, Job, Warns, Skin FROM accounts WHERE Name = '%s'", SpielerInfo[playerid][pName]);


    Das Problem ist halt das es ja nichtmal in die Mysql Datenbank eingetragen wird...


    //Edit --> Bin jetzt erstmal off, würde mich trotzdem über weitere Hilfen freuen, habe mich auch schon selbst 1-2 Tage damit beschäftigt, bekomme es aber einfach nicht hin.

  • Einmal das probieren:
    new querystring[1024];
    format(querystring,1024,"UPDATE accounts SET Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Fraktion = '%d', Adminlevel = '%d', Mute = '%d', Baned = '%d',",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned]);
    format(querystring, 1024,"%s Fraktionsleader = '%d', Rang = '%d', Job = '%d', Skin = '%d', Warns = '%d' WHERE Name = '%s'",querystring, SpielerInfo[playerid][pFraktionsleader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pJob],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pWarns],SpielerInfo[playerid][pName]);
    mysql_query(querystring);


    Und einmal das: (wobei wenn das tut, versteh ich die Welt nicht mehr)
    new querystring[1024];
    format(querystring,1024,"UPDATE `accounts` SET `Level` = '%d', `Geld` = '%d', `Kills` = '%d', `Tode` = '%d', `Fraktion` = '%d', `Adminlevel` = '%d', `Mute` = '%d', `Baned` = '%d',",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned]);
    format(querystring, 1024,"%s `Fraktionsleader` = '%d', `Rang` = '%d', `Job` = '%d', `Skin` = '%d', `Warns` = '%d' WHERE `Name` = '%s'",querystring, SpielerInfo[playerid][pFraktionsleader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pJob],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pWarns],SpielerInfo[playerid][pName]);
    mysql_query(querystring);


    Nacht.
    Wenn es bis morgen mittag keine Lösung gibt, schau ich es mir mit TeamViewer mal an. Ich mach das ungern, aber das will ich jetzt doch gelöst haben. ^^

  • warum das "%s" in dem 2. String? :D


    Das hat schon seine Richtigkeit mit dem %s, weil dort das obige querystring eingesetzt wird. Ich habe strcat entfernt, und es so gemacht.
    Das was du gepostet hast, wird unter Garantie nicht funktionieren. ;)


    EDIT:
    Das Problem wurde behoben. Der Fehler war, dass SpielerInfo[playerid][pName] nie gesetzt wurde, also NULL war.


    Dieser code ist zudem der richtige, wie schon zuvor gesagt:
    new querystring[1024];
    format(querystring,1024,"UPDATE accounts SET Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Fraktion = '%d', Adminlevel = '%d', Mute = '%d', Baned = '%d',",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned]);
    format(querystring, 1024,"%s Fraktionsleader = '%d', Rang = '%d', Job = '%d', Skin = '%d', Warns = '%d' WHERE Name = '%s'",querystring, SpielerInfo[playerid][pFraktionsleader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pJob],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pWarns],SpielerInfo[playerid][pName]);
    mysql_query(querystring);

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()