stock MySQL_Login(playerid)
{
new Query[500];
mysql_real_escape_string(pInfo[playerid][Nick], pInfo[playerid][Nick]); // escaping the name of the player to avoid sql_injections.
format(Query, sizeof(Query), "SELECT * FROM `playerdata` WHERE `nick` COLLATE latin1_general_cs = '%s' LIMIT 1", pInfo[playerid][Nick]);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
new line[500];
new data[42];
mysql_fetch_row(line);
sscanf(line, "p<|>iiiiii",
data[0],
data[1],
data[2],
data[3],
data[4],
data[5]);
data[0] = pInfo[playerid][ID];
data[1] = pInfo[playerid][pAdmin];
data[2] = pInfo[playerid][pScore];
SetPlayerScore(playerid, pInfo[playerid][pScore]);
data[3] = pInfo[playerid][pMoney];
GivePlayerMoney(playerid, pInfo[playerid][pMoney]);
data[4] = pInfo[playerid][pKills];
data[5] = pInfo[playerid][pDeaths];
}
mysql_free_result();
pInfo[playerid][Logged] = 1;
}
stock MySQL_Login(playerid)
{
new Query[500];
mysql_real_escape_string(pInfo[playerid][Nick], pInfo[playerid][Nick]); // escaping the name of the player to avoid sql_injections.
format(Query, sizeof(Query), "SELECT * FROM `playerdata` WHERE `nick` COLLATE latin1_general_cs = '%s' LIMIT 1", pInfo[playerid][Nick]);
mysql_query(Query);
mysql_store_result();
while(mysql_fetch_row_format(Query,"|"))
{
mysql_fetch_field_row("id", pInfo[playerid][ID]);
mysql_fetch_field_row("admin", pInfo[playerid][pAdmin]);
mysql_fetch_field_row("score", pInfo[playerid][pScore]); SetPlayerScore(playerid, pInfo[playerid][pScore]);
mysql_fetch_field_row("money", pInfo[playerid][pMoney]); GivePlayerMoney(playerid, pInfo[playerid][pMoney]);
mysql_fetch_field_row("kills", pInfo[playerid][pKills]);
mysql_fetch_field_row("deaths", pInfo[playerid][pDeaths]);
}
mysql_free_result();
pInfo[playerid][Logged] = 1;
}
pawn Код:
|
I suggest you using sscanf to load something (MySQL R6 Below), it's faster and easier than mysql_fetch_field_row
|
stock MySQL_Login(playerid)
{
new Query[500];
mysql_real_escape_string(pInfo[playerid][Nick], pInfo[playerid][Nick]); // escaping the name of the player to avoid sql_injections.
format(Query, sizeof(Query), "SELECT * FROM `playerdata` WHERE `nick` COLLATE latin1_general_cs = '%s' LIMIT 1", pInfo[playerid][Nick]);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
new line[500];
new data[42];
mysql_fetch_row(line);
sscanf(line, "p<|>iiiiii",
data[0],
data[1],
data[2],
data[3],
data[4],
data[5]);
data[0] = pInfo[playerid][ID];
data[1] = pInfo[playerid][pAdmin];
data[2] = pInfo[playerid][pScore];
SetPlayerScore(playerid, pInfo[playerid][pScore]);
data[3] = pInfo[playerid][pMoney];
GivePlayerMoney(playerid, pInfo[playerid][pMoney]);
data[4] = pInfo[playerid][pKills];
data[5] = pInfo[playerid][pDeaths];
}
mysql_free_result();
pInfo[playerid][Logged] = 1;
}
Yea, my friend has suggested this code:
pawn Код:
|
stock MySQL_Login(playerid)
{
new Query[ 500 ];
new EscapedName[ MAX_PLAYER_NAME ];
mysql_escape_string( pInfo[playerid][Nick], EscapedName );
format( Query, sizeof( Query ), "SELECT * FROM `playerdata` WHERE `nick` COLLATE latin1_general_cs = '%s'", EscapedName );
mysql_query( Query );
mysql_store_result( );
if( mysql_num_rows( ) )
{
if( mysql_fetch_row_format( Query, "|" ) )
{
sscanf(Query, "p<|>iiiiii", pInfo[playerid][ID], pInfo[playerid][pAdmin], pInfo[playerid][pScore], pInfo[playerid][pMoney], pInfo[playerid][pKills], pInfo[playerid][pDeaths]);
}
}
mysql_free_result( );
return pInfo[playerid][Logged] = 1;
}
What the fuck are you doing? your code is totally WRONG! where did you learn that from? *lol'ing* - the code below should work, 99.9% positive.
pawn Код:
|