OK, as the first rule I tried myself and learned basics of this SQLx working. It is (almost) working but there is a little problem passing the killer id to sql query. Look here:
In DeathEvent:
PHP Code:
//I made killer a global var to make it reach the subthread of query but it doesn't work.
killer = read_data(1);
username[killer] = get_user_name(killer, name, charsmax(name));
formatex(Query, 511, "SELECT * FROM points WHERE `username`='%s'", username[killer]);
SQL_ThreadQuery(g_SqlTuple, "QueryThread_SELECT", Query);
This works and I can reach next step without errors:
PHP Code:
public QueryThread_SELECT(FailState, Handle:Query, Error[], Errcode, Data[], DataSize){
if(FailState == TQUERY_CONNECT_FAILED){
return set_fail_state("Couldn't connect to DB");
}else if(FailState == TQUERY_QUERY_FAILED){
return set_fail_state("Query failed");
}
if(SQL_NumResults(Query) < 1){
//I assume from tutorial that NumResults returns the selected rows, if 0 means no previous entry
formatex(szquery, 511, "INSERT INTO `points` VALUES('%s', '+1')", username[killer]);
SQL_ThreadQuery(g_SqlTuple, "FreeQueryHandler", szquery);
}else if(SQL_NumResults(Query) == 1){
//and if ==1 means there is previous entry, so +1 in last entry.
formatex(szquery, 511, "UPDATE `points` SET `coins` = '+1' WHERE `username` = '%s'", username[killer]);
SQL_ThreadQuery(g_SqlTuple, "FreeQueryHandler", szquery);
}
return PLUGIN_CONTINUE;
}
Results are:
I get 1 point data entered in MYSQL db but with empty 'username' field and after, it doesn't update. I think it has to do with that Data[] paramter right? Please show me...
__________________