Orgs with MySQL
#1

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.

See:

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.
Someone help me please? Thanks.
Reply
#2

A lot of things could be wrong.

The
pawn Код:
if(!strcmp(Member, "Null"))
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.
Reply
#3

I saw the mysql_log and I found this:

Passing query UPDATE `Organizacoes` SET 'Member1'=Joe_Lincoln WHERE `Organizacao` = 'Test' |
CMySQLHandler::ProcessQueryThread() - Error will be triggered to OnQueryError()
Reply
#4

In mysql, when you're updating a varchar field, you need to wrap the new value in apostrophes

ex

UPDATE `Organizacoes` SET Member1='Joe_Lincoln' WHERE `Organizacao` = 'Test'
Reply
#5

I managed to solve. The problem was that I was using 'Member1' instead of `Member1`. My lack of attention .
Thanks
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)