Hello everybody.
Well, I created a organization system in my gamemode. However, I created two commands to accept and invite the player to the especific org. As I'm using MySQL R7, I needed create a callback to UPDATE on the Table corresponding the organization. But that callback doesn't work.
pawn Код:
public r@Org(playerid) {
new
Member[25],
Result[MAX_LENGTH_RESULT]
;
cache_get_field_content(0, "Member1", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member1'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member2", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member2'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member3", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member3'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member4", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member4'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member5", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member5'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member6", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member6'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member7", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member7'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member8", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member8'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
cache_get_field_content(0, "Member9", Member);
if(!strcmp(Member, "Null")) {
mysql_format(Handle,Result,"UPDATE `Organizacoes` SET 'Member9'=%s WHERE `Organizacao` = '%s'",PlayerName(playerid), GetOrganizationNameInSQLByID(playerid));
mysql_function_query(Handle, Result, false, "","");
}
MembersOrg{ForOrg{playerid}} ++;
return 1;
}
It doesn't update the place on the table.
A lot of things could be wrong.
condition is probably not passing.
Try enabling debug mode and read what mysql_log.txt says. Or try running one of the update queries in your database tool.
In mysql, when you're updating a varchar field, you need to wrap the new value in apostrophes
I managed to solve. The problem was that I was using 'Member1' instead of `Member1`. My lack of attention
.