20.07.2011, 20:23
You only need to fetch the row from the database once, not however many fields you retrieve from it.
pawn Код:
public OnPlayerLogin(playerid,password[])
{
MySQLCheckConnection();
new tmp2[256];
new string2[64];
new playername2[MAX_PLAYER_NAME];
new playernamesplit[3][MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
split(playername2, playernamesplit, '_');
MySQLFetchAcctSingle(PlayerInfo[playerid][pSQLID], "Password", PlayerInfo[playerid][pPass]);
if(strcmp(PlayerInfo[playerid][pPass],password, true ) == 0 )
{
mysql_query("SELECT * FROM `users`");
mysql_store_result();
if (mysql_num_rows())
{
new field[64], data[256];
mysql_fetch_row(data);
mysql_fetch_field_row(field, "Level");
PlayerInfo[playerid][pLevel] = strval(field);
mysql_fetch_field_row(field, "Money");
PlayerInfo[playerid][pMoney] = strval(field);
mysql_fetch_field_row(field, "Admin");
PlayerInfo[playerid][pAdmin] = strval(field);
mysql_fetch_field_row(field, "Vip");
PlayerInfo[playerid][pVip] = strval(field);
mysql_fetch_field_row(field, "Pos_x");
PlayerInfo[playerid][pPos_x] = strval(field);
mysql_fetch_field_row(field, "Pos_y");
PlayerInfo[playerid][pPos_y] = strval(field);
.
.
.
.
}
}
mysql_free_result();
}