Beiträge von Mister_Miguel

    Moin,

    speichern sollte er gar nichts, da du einen Fehler in deiner Query hast. Du darfst vor WHERE kein Komma setzten, richtig wäre also so:


    SQL
    UPDATE `user` SET `skin` = '%d', `alter` = '%d', `geschlecht` = '%d', `neuling` = '%d', `leben` = '%.0f', `russi` = '%.0f', `Posx` = '%.0f', `Posy` = '%.0f', `Posz` = '%.0f', `Posa` = '%.0f', `Interior` = '%d', `Virtualworld` = '%d'  WHERE `ID` = '%i'

    Danke hat geklappt.

    Code
        mysql_format(dbhandle,query,sizeof(query),"UPDATE `user` SET `skin` = '%d', `alter` = '%d', `geschlecht` = '%d', `neuling` = '%d', `leben` = '%.0f', `russi` = '%.0f', `Posx` = '%f', `Posy` = '%f', `Posz` = '%f', `Posa` = '%f', `Interior` = '%d', `Virtualworld` = '%d',  WHERE `ID` = '%i'",GetPlayerSkin(playerid),
        pInfo[playerid][palter],pInfo[playerid][pgeschlecht],pInfo[playerid][pneuling],pInfo[playerid][pleben],pInfo[playerid][prussi],x,y,z,a,GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),pInfo[playerid][pid]);


    fehler du hattest 0.f bei den cordinaten aber es muss zu %f


    weste un leben, kannst du auch normal %f nehmen

    Leider ohne erfolg!



    Guten Tag,

    komischerweise Speichern die Positionen nicht (?).


    Code
    mysql_format(dbhandle,query,sizeof(query),"UPDATE `user` SET `skin` = '%d', `alter` = '%d', `geschlecht` = '%d', `neuling` = '%d', `leben` = '%.0f', `russi` = '%.0f', `Posx` = '%.0f', `Posy` = '%.0f', `Posz` = '%.0f', `Posa` = '%.0f', `Interior` = '%d', `Virtualworld` = '%d',  WHERE `ID` = '%i'",GetPlayerSkin(playerid),
        pInfo[playerid][palter],pInfo[playerid][pgeschlecht],pInfo[playerid][pneuling],pInfo[playerid][pleben],pInfo[playerid][prussi],x,y,z,a,GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),pInfo[playerid][pid]);


    Code
        //Spieler-Position-Laden [ ! ]
        pInfo[playerid][px]=cache_get_field_content_float(0,"Posx",dbhandle);
        pInfo[playerid][py]=cache_get_field_content_float(0,"Posy",dbhandle);
        pInfo[playerid][pz]=cache_get_field_content_float(0,"Posz",dbhandle);
        pInfo[playerid][pa]=cache_get_field_content_float(0,"Posa",dbhandle);
        
        pInfo[playerid][pint]=cache_get_field_content_int(0,"Interior",dbhandle);
        pInfo[playerid][pvit]=cache_get_field_content_int(0,"Virtualworld",dbhandle);
        //Spieler-Position-Laden [ ! ]


    Wenn ich das ganze printe kommt das beim Server.exe:


    SQL
    INSERT INTO user (username, password) VALUES ('Reste',MD5('test'))
    UPDATE `user` SET `skin` = '247', `alter` = '23', `geschlecht` = '1', `neuling` = '0', `leben` = '0', `russi` = '0', `Posx` = '0', `Posy` = '0', `Posz` = '0', `Posa` = '0', `Interior` = '0', `Virtualworld` = '0',  WHERE `ID` = '63'



    /e MySQL Log


    Versuche dir doch mal dem Fehler auf der Spur zu kommen ( nicht Böse gemeint oder so )

    Hab am Anfang auch immer den Fehler gemacht nur hier zu fragen aber lasse dir doch einfach mal ein bisschen code Debuggen das hilft schon um zu sehen ob und was überhaupt Passiert.


    Wo du recht hast, hast du sowieso recht.


    Habs jetzt geschafft, nun wenn ich ins Interior betrete Falle ich durchs Map ^^

    Hab einfach die b_a gelöscht und die b_ia


    Hey,

    komischerweise werden bei mir die Gebäuden und Mapmarker nicht geladen(?)

    ´



    Code
    public Second(playerid)
    {
        if(enterexit[playerid]>0)
        {
            enterexit[playerid]-=1;
        }
    }

    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,string,"Testserver,"Dein Account wurde gefunden bitte Logge dich ein ","OK","");


    zu


    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Testserver,"Dein Account wurde gefunden bitte Logge dich ein ","OK","");

    Funktioniert, jedoch steht dann nicht da wie viele Versuche er schon versucht hat ^^

    Das liegt wohl mit daran, das deine Escape Zeichen falsch sind. Du verwendest ´ brauchst aber `

    Richtig wäre also:

    SQL
    UPDATE `user` SET `skin` = '%d', `alter` = '%d', `geschlecht` = '%d', `neuling` = '%d', `leben` = '%.0f', `russi` = '%.0f' WHERE `ID` = '%i'

    Um zu überprüfen, ob deine SQL-Anfrage korrekt ist, kannst du auch auf verschiedene Online-Tools zurückgreifen (Beispiel: https://www.eversql.com/sql-syntax-check-validator/)

    Danke, hat funktioniert!

    btw, danke an Alle :)


    Hätte da noch einen Warning, denn ich irgendwie nicht wegbekomme


    warning 202: number of arguments does not match definition <-- Zeile 191


    Ohne Erfolg!

    Weder das Geschlecht & Alter speichert sich nicht

    Weiß jetzt nicht ob das wirklich der Fehler ist.. aber integer werte packt man bei mysql nicht in Anführungszeichen. Probiere es mal ohne.

    Code
        mysql_format(dbhandle,query,sizeof(query),"UPDATE user SET skin='%d',alter='%d',geschlecht='%d',neuling´='%d',leben='%.0f',russi='%.0f' WHERE ID='%i'",GetPlayerSkin(playerid),
        pInfo[playerid][palter],pInfo[playerid][pgeschlecht],pInfo[playerid][pneuling],pInfo[playerid][pleben],pInfo[playerid][prussi],pInfo[playerid][pid]),

    So funktionierts irgendwie auch nicht

    Hey, danke für deine Antwort!

    Code
    19:44:55] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '´user´ SET ´skin´='60',´alter´='23',´geschlecht´='1',´neuling´='0',...' at line 1
    [19:44:55] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError

    Moin moin,

    Alter, Geschlecht, und die SkinID wird komischerweise nicht gespeichert..


    Wollte jetzt keinen extra Thread machen, aber wieso kommt dieser Error?