Code:
public void OnDatabaseConnect() {
db = SQL_Connect("CoopRPG", true, Error, sizeof(Error));
if(db == INVALID_HANDLE) {
PrintToServer("Cannot connect to MySQL Server: %s", Error);
CloseHandle(db);
}
else {
PrintToServer("Connection Successful!");
}
}
public Action PlayerLoadData(int client) {
new String:name[30];
GetClientName(client, name, 30);
int steamid = GetSteamAccountID(client);
PrintToChat(client, "%d", steamid);
new String:query[255];
Format(query, sizeof(query), "SELECT * FROM cooperativeplayers WHERE steamid='%d'", steamid);
DBResultSet g_queryHandle = SQL_Query(db, query);
PrintToChat(client, "1");
if(g_queryHandle != INVALID_HANDLE) {
PrintToChat(client, "2");
if(g_queryHandle.FetchRow()) {
PrintToChat(client, "\x05[COOP] \x01User data load successful!");
g_playerInfo[client][playerLv] = g_queryHandle.FetchInt(2);
g_playerInfo[client][playerExp] = g_queryHandle.FetchInt(3);
g_playerInfo[client][playerGold] = g_queryHandle.FetchInt(4);
g_playerInfo[client][playerStatusPoint] = g_queryHandle.FetchInt(5);
g_playerInfo[client][playerSkillPoint] = g_queryHandle.FetchInt(6);
g_playerInfo[client][stat_muscleEndurance] = g_queryHandle.FetchInt(7);
g_playerInfo[client][stat_agility] = g_queryHandle.FetchInt(8);
g_playerInfo[client][stat_concentration] = g_queryHandle.FetchInt(9);
}
}
else {
PrintToChat(client, "3");
PrintToChat(client, "\x05[COOP] \x01Server have not user data. can't load data");
new String:query1[512];
Format(query1, sizeof(query1), "INSERT INTO cooperativeplayers (name, steamid, lv, exp, gold, statuspoint, skillpoint, stat_muscle, stat_agility, stat_concentration) VALUES ('%s', '%d', '%d', '%d', '%d', '%d', '%d', %d', '%d', '%d')",
name, steamid, g_playerInfo[client][playerLv], g_playerInfo[client][playerExp], g_playerInfo[client][playerGold], g_playerInfo[client][playerStatusPoint], g_playerInfo[client][playerSkillPoint], g_playerInfo[client][stat_muscleEndurance], g_playerInfo[client][stat_agility], g_playerInfo[client][stat_concentration]);
g_queryHandle = SQL_Query(db, query1);
if(g_queryHandle != INVALID_HANDLE) {
PrintToChat(client, "\x05[COOP] \x01User first data save successful!");
} else {
SQL_GetError(db, Error, sizeof(Error));
PrintToChat(client, "\x05[COOP] \x01User data save failed. There was a problem with DB");
}
}
PrintToChat(client, "4");
return Plugin_Handled;
}
My DB has no data.
but, Execute PrintToChat(client, "2");
why execute?
i wanna g_queryHandle = INVALIDE_HANDLE, becuz db has no data.
whats wrong?
DB problem = Input my steamid result : EmptySet (0.00sec)