25.01.2012, 21:15
Hey,
I am using MySQL and for some reason my coding is wrong as the things I need to load don't:
I'm not sure what's wrong as it shows the mysql as loaded:
Any ideas?
Thanks!
I am using MySQL and for some reason my coding is wrong as the things I need to load don't:
pawn Код:
stock LoadUserData(playerid)
{
new query[101 + MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME], savingstring[11];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(query,sizeof(query),"SELECT `Donator`, `AdminLevel`, `Score`, `Zone`, `Money` FROM `Player_Info` WHERE `Username` = '%s'",pname);
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(query,"|"))
{
mysql_fetch_field_row(savingstring,"Donator"); PlayerInfo[playerid][pDonator] = strval(savingstring);
mysql_fetch_field_row(savingstring,"AdminLevel"); PlayerInfo[playerid][pAdminLevel] = strval(savingstring);
mysql_fetch_field_row(savingstring,"Score"); SetPlayerScore(playerid, strval(savingstring));
mysql_fetch_field_row(savingstring,"Zone"); PlayerInfo[playerid][pZone] = strval(savingstring);
mysql_fetch_field_row(savingstring,"Money"); GivePlayerMoney(playerid, strval(savingstring));
}
mysql_free_result();
return 1;
}
pawn Код:
CMD:login(playerid, params[])
{
new Password[34];
if(sscanf(params, "s[34]", Password)) return SendClientMessage(playerid, COLOR_RED, "Error: /login 'password'");
if(PlayerInfo[playerid][pRegistered] == false) return SendClientMessage(playerid, COLOR_RED, "Error: You are currently not registered");
if(PlayerInfo[playerid][pLogged] == true) return SendClientMessage(playerid, COLOR_RED, "Error: You are already logged in.");
else
{
new Query[108 + MAX_PLAYER_NAME];
mysql_real_escape_string(params, Password);
format(Query, sizeof(Query), "SELECT * FROM `Player_Info` WHERE `Username` = '%s' AND `Password` = '%s'",GetPlayerNameEx(playerid),Password);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
SendClientMessage(playerid, COLOR_WHITE, "SERVER: You have successfully logged in.");
// SetTimerEx("LoadData",1000,false,"d",playerid);
LoadUserData(playerid);
PlayerInfo[playerid][pLogged] = true;
DeletePVar(playerid,"InvalidPass");
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Error: You have entered an invalid password please try again.");
SetPVarInt(playerid, "InvalidPass",GetPVarInt(playerid,"InvalidPass")+1);
if(GetPVarInt(playerid,"InvalidPass") == 5)
{
format(Query,sizeof(Query),"** SERVER KICK: %s has been kicked from the server - Incorrect Login.",GetPlayerNameEx(playerid));
SendClientMessageToAll(COLOR_PINK, Query);
Kick(playerid);
}
}
}
return 1;
}
Код:
[13:39:36] CMySQLHandler::Query(SELECT `Donator`, `AdminLevel`, `Score`, `Zone`, `Money` FROM `Player_Info` WHERE `Username` = 'DaRkAnGeL[NBK]') - Successfully executed.
[13:39:36] >> mysql_store_result( Connection handle: 1 )
[13:39:36] CMySQLHandler::StoreResult() - Result was stored.
[13:39:36] >> mysql_fetch_row_format( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchRow() - Return: 0|0|3276|1|9832
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Donator") - 0
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("AdminLevel") - 0
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Score") - 3276
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Zone") - 1
[13:39:36] >> mysql_fetch_field_row( Connection handle: 1 )
[13:39:36] CMySQLHandler::FetchField("Money") - 9832
Thanks!

