Siemka.
Mam problem z logami a dokładnie z SQL_ThreadQuery
L 11/09/2014 - 19:19:48: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 11/09/2014 - 19:19:48: [AMXX] [0] plug_2583001.sma::WczytajDane (line 126) L 11/09/2014 - 19:19:48: [AMXX] [1] plug_2583001.sma::client_connect (line 220)
To samo z zapisem.
Kod odpowiedzialny za zapis i wczytanie:
public WczytajDane(id) { new query2[256], nick[33], data[1]; data[0] = id; get_user_name(id, nick, charsmax(nick)) formatex(query2, 255, "SELECT * FROM `gracze` WHERE `nick` = '%s' AND `serwer` = '%s'", nick, ipport_serv) SQL_ThreadQuery(g_SqlTuple, "Wczytaj_Handler", query2, data, 1) } public Wczytaj_Handler(FailState,Handle:Query,Error[],Errcode,data[],DataSize) { if(FailState != TQUERY_SUCCESS){ log_amx("MySQL Wczytaj_Handler: %s", Error); return; } new id = data[0]; if(!is_user_connected(id) && !is_user_connecting(id)) return; if(!SQL_MoreResults(Query)) { new query2[256], nick[33]; get_user_name(id, nick, charsmax(nick)) formatex(query2, 255, "INSERT INTO `gracze` (`nick`, `serwer`, `punkty`) VALUES ('%s', '%s', '%i')", nick, ipport_serv, 0) SQL_ThreadQuery(g_SqlTuple, "Zapisz_Handler", query2, data, DataSize) return; } punkty_gracza[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "punkty")); } public ZapiszDane(id) { if(!is_user_connected(id)) return; new query[256], nick[33]; get_user_name(id, nick, 32); format(query,255,"UPDATE `gracze` SET `punkty`='%d' WHERE `nick`='%s' AND `serwer`='%s'", punkty_gracza[id], nick, ipport_serv); SQL_ThreadQuery(g_SqlTuple,"Zapisz_Handler",query) } public Zapisz_Handler(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { if(FailState != TQUERY_SUCCESS){ log_amx("MySQL Zapisz_Handler: %s", Error); return; } }
Prawdopodobnie to przyczyna znaków specjalnych których baza nie może zapisać.
Jednak nie wiem jak zrobić to w taki sposób aby zapisywała lub jeśli ktoś ma w nicku znaki specjalne takie jak ' czy . po prostu nie zapisywało.