Hallo Brotfische,
habe ein Probelm. Ich verwende die MYQL Version R5 (Nur zum Testen) und komme nicht weiter,
Ich möchte die Accounts nach dem Login laden und in eine Variable logischerweise speichern.
Accounts laden:
stock AccountLaden(playerid){
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
new query[200];
GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
format(SpielerInfo[playerid][pSkin], 10, "%s", mysql_GetStr("accounts", "skin", "player", SpielerInfo[playerid][pName]));
format(SpielerInfo[playerid][pLevel], 10, "%s", mysql_GetStr("accounts", "score", "player", SpielerInfo[playerid][pName]));
format(SpielerInfo[playerid][pGeld], 60, "%i", mysql_GetInt("accounts", "geld", "player", SpielerInfo[playerid][pName]));
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
SetTimerEx("GiveSkinPlayerAuto", 100, false, "i", playerid);
loggedin[playerid] = true;
}
return 1;
}
mysql_GetStr & mysql_GetInt:
stock mysql_GetStr(Table[], Field[], Where[], Is[])
{
new query[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
new sqlint = mysql_fetch_int();
mysql_free_result();
return sqlint;
}
stock mysql_GetInt(Table[], Field[], Where[], Is[])
{
new query[128];
mysql_real_escape_string(Table, Table);
mysql_real_escape_string(Field, Field);
mysql_real_escape_string(Where, Where);
mysql_real_escape_string(Is, Is);
format(query, 128, "SELECT %s FROM %s WHERE %s = '%i'", Field, Table, Where, Is);
mysql_query(query);
mysql_store_result();
new sqlint = mysql_fetch_int();
mysql_free_result();
return sqlint;
}
Die Spalten geld, skin und level sind in der Datenbank als Integer
Die Abfragen
format(SpielerInfo[playerid][pSkin], 10, "%s", mysql_GetStr("accounts", "skin", "player", SpielerInfo[playerid][pName]));
format(SpielerInfo[playerid][pLevel], 10, "%s",
mysql_GetStr("accounts", "score", "player",
SpielerInfo[playerid][pName]));
funktionieren prima!
Jedoch funktioniert das Geld nicht zu laden. Egal ob ich es als Integer konvertiere oder als String, was ich mich überhaupt frage warum level und skin funktionieren da es integer sind. Alle mögliche versuche haben nicht funktioniert.
Kann mir einer helfen?