Re: sql save problem
ok, this is the code
PHP Code:
public MySql_Init() { g_SqlTuple = SQL_MakeDbTuple(g_szPanelInfo[MYSQL_HOST], g_szPanelInfo[MYSQL_USER],g_szPanelInfo[MYSQL_PASS], g_szPanelInfo[MYSQL_DB]) new ErrorCode,Handle:SqlConnection = SQL_Connect(g_SqlTuple,ErrorCode,g_Error,charsmax(g_Error)) if(SqlConnection == Empty_Handle) { set_fail_state(g_Error) } new Handle:Queries Queries = SQL_PrepareQuery(SqlConnection,"CREATE TABLE IF NOT EXISTS %s ( `id` INT(11) NOT NULL AUTO_INCREMENT , `name` VARCHAR(33) NOT NULL , `ip` VARCHAR(33) NOT NULL , `steamid` VARCHAR(33) NOT NULL , `frags` INT(33) NOT NULL , `deaths` INT(33) NOT NULL , `firstseen` VARCHAR(255) NOT NULL , `lastvisit` VARCHAR(255) NOT NULL , PRIMARY KEY (`id`))", g_szONPlayer_Table) if(!SQL_Execute(Queries)) { SQL_QueryError(Queries,g_Error,charsmax(g_Error)) set_fail_state(g_Error) } else { server_print("[Advanced Panel] SQL Connection succesfully!") } SQL_FreeHandle(Queries) SQL_FreeHandle(SqlConnection) }
public client_putinserver(id) { insert_new_player(id) }
public insert_new_player(id) { if (is_user_bot(id) || is_user_hltv(id)) return get_user_name(id, g_iPlayersInfo[id][Name], charsmax(g_iPlayersInfo[][Name])) new szData[1] szData[0] = id new szQuery[512]; mysql_escape_string(g_iPlayersInfo[id][Name], charsmax(g_iPlayersInfo[][Name])) formatex(szQuery, charsmax(szQuery), "SELECT * FROM %s WHERE name='%s'", g_szONPlayer_Table, g_iPlayersInfo[id][Name]); SQL_ThreadQuery(g_SqlTuple, "Check_Data", szQuery, szData, 1) }
public Check_Data(FailState, Handle:Query, szError[], ErrorCode, szData[], iSize) { if(FailState || ErrorCode) server_print("%s", szError) new id = szData[0] if(SQL_NumResults(Query) < 1) { new szQuery[512] get_users_info(id) mysql_escape_string(g_iPlayersInfo[id][Name], charsmax(g_iPlayersInfo[][Name])) formatex(szQuery, charsmax(szQuery), "INSERT INTO `%s` (`name`,`ip`,`steamid`,`frags`,`deaths`) VALUES (`%s`,`%s`,`%s`,`0`,`0`)", g_szONPlayer_Table, g_iPlayersInfo[id][Name], g_iPlayersInfo[id][Address], g_iPlayersInfo[id][AuthID]) if(g_szPanelInfo[DEBUG_PRINT] != 0) { server_print("[AdvancedPanel] Player %s has benn inserted into table: %s", g_iPlayersInfo[id][Name], g_szONPlayer_Table ) } SQL_ThreadQuery(g_SqlTuple, "FreeHandle", szQuery ) } else { server_print("[Advanced Panel] SQL ERROR! Player %s already exists!", g_iPlayersInfo[id][Name]) } }
public FreeHandle(FailState, Handle:Query, szError[], ErrorCode, szData[], iSize) { if(FailState || ErrorCode) server_print("%s", szError) SQL_FreeHandle(Query); if(g_szPanelInfo[DEBUG_PRINT] != 0) { server_print("[AdvancedPanel] Query for inserting player is freehandle now.") } }
stock get_users_info(id) { g_iPlayersInfo[id][Frags] = get_user_frags(id) g_iPlayersInfo[id][Deaths] = get_user_deaths(id) get_user_name(id, g_iPlayersInfo[id][Name], charsmax(g_iPlayersInfo[][Name])) get_user_authid(id, g_iPlayersInfo[id][AuthID], charsmax(g_iPlayersInfo[][AuthID])) }
mysql_escape_string(dest[],len) { //copy(dest, len, source); replace_all(dest,len,"\\","\\\\"); replace_all(dest,len,"\0","\\0"); replace_all(dest,len,"\n","\\n"); replace_all(dest,len,"\r","\\r"); replace_all(dest,len,"\x1a","\Z"); replace_all(dest,len,"'","\'"); replace_all(dest,len,"^"","\^""); }
Code:
Unknown column 'lexzor' in 'field list'
lexzor is player name.
|