Problem mit MySql - Auslesen von Daten

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
  • Hey ich hab irgendwie n 'kleines' Problem mit nem Script, es läuft wie in der Überschrift zu sehen ist auf MySql
    Wie ich z.b. eine Variable Speichern lassen kann ist kein problem das geht..
    nur mit dem auslesen habe ich so meine probleme,
    wie z.b. wenn ich connecte bin ich cj (skin 0) in der mysql db aber skin 2
    oder mein geld was in der datenbank gesaved wird nach /setstat, wird nicht geladen..
    der score wird manchmal geladen, manchmal auch nicht..


    dumm zu erklären aber wäre nett wenn ihr mir helft / helfen könnt..


    ich schätze mal hier sollen die daten ausgelesen werden..

    Code
    stock LoadAccountVariables(playerid){	new EscapedName[MAX_PLAYER_NAME];	if(GetPVarInt(playerid, "Authentication") == 1)    {	    mysql_real_escape_string(GetName(playerid), EscapedName);		format(Query, sizeof(Query), "SELECT * FROM `Accounts` WHERE `Username` = '%s'", EscapedName);		mysql_query(Query);		mysql_store_result();		mysql_fetch_row_format(Query, "|");		sscanf(Query, "e<p<|>s[24]s[129]s[64]s[129]s[17]ddddfffffddddds[128]s[128]s[128]>", pStats[playerid]);	}	else print("[MySQL ERROR] LoadAccountVariables() was called, but to a non-connected ID.");	mysql_free_result();}stock GetFromAccount(username[], obtaining[], holdingvar[]){	format(Query, sizeof(Query), "SELECT `%s` FROM `Accounts` WHERE `Username` = '%s'", obtaining, username);	mysql_query(Query);	mysql_store_result();	if(mysql_fetch_row(holdingvar) == 1)	{		mysql_free_result();	}	return 1;}


    da es so aussieht beim speichern:

    Code
    stock SavePlayerAccount(playerid){    if(GetPVarInt(playerid, "Authentication") == 1)    {        format(Query, sizeof(Query), "UPDATE `Accounts` SET `AdminLevel` = %d, `Money` = %d, `Score` = %d, `Skin` = %d, `Donator` = %d, `Respekt` = %d, `Warns` = %d WHERE `Username` = '%s'", pStats[playerid][pAdminLevel], GetPlayerCash(playerid), GetPlayerScore(playerid), GetPlayerSkin(playerid), pStats[playerid][pDonator], pStats[playerid][pRespekt] ,pStats[playerid][pWarns], GetEscName(playerid));        mysql_query(Query);    	GetPlayerHealth(playerid, pStats[playerid][pHealth]);        GetPlayerArmour(playerid, pStats[playerid][pArmour]);        GetPlayerPos(playerid, pStats[playerid][pPosX], pStats[playerid][pPosY], pStats[playerid][pPosZ]);        format(Query, sizeof(Query), "UPDATE `Accounts` SET `Health` = %f, `Armour` = %f, `PositionX` = %f, `PositionY` = %f, `PositionZ` = %f WHERE `Username` = '%s'", pStats[playerid][pHealth], pStats[playerid][pArmour], pStats[playerid][pPosX], pStats[playerid][pPosY], pStats[playerid][pPosZ], GetEscName(playerid));        mysql_query(Query);        GetPlayerIp(playerid, pStats[playerid][pIPAddress], 17);        format(Query, sizeof(Query), "UPDATE `Accounts` SET `IP Address` = '%s', `Kills` = %d, `Deaths` = %d, `Logins` = %d, `PM Status` = %d WHERE `Username` = '%s'", pStats[playerid][pIPAddress], pStats[playerid][pKills], pStats[playerid][pDeaths], pStats[playerid][pLogins], pStats[playerid][pPMStatus], GetEscName(playerid));        mysql_query(Query);	}	else print("[MySQL ERROR] SavePlayerAccount() was called, but to a non-connected ID.");    return 1;}


    und dann wüsste ich noch wie ich das passwort NICHT verschlüsselt speichern lassen kann o:
    dazu wird WP_Hash wenn ich mich nicht irre genutzt ( Whirlpool das plugin.. )


    das script ist hier:
    http://pastebin.com/H3vrJmJH


    Hier mal ein Screen der Datenbank..

    //Edit1 : Screen Beigefügt

  • mein onplayerspawn sieht so aus:


    jedoch das level usw wird nach einem serverrestart nicht ausgelesen, wenn ich dann aber ingame gehe und mir das level per /setstat mache gehts
    nach 1-2 reloggen gehts dann wieder nicht und alles von vorne, gespeichert wird es ja.. nur irgendwie nicht ausgelesen
    genauso wie mein geld, wird nicht ausgelesen..


    //edit 1:
    Hab den Server on ihr könnts euch auch mal anschauen wenn ihr wollt..
    IP gibts per pn o: