SA-MP Forums Archive
Orgs with MySQL - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Orgs with MySQL (/showthread.php?tid=394003)



Orgs with MySQL - Rodrigo. - 20.11.2012

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.


Re: Orgs with MySQL - ReneG - 20.11.2012

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.


Re: Orgs with MySQL - Rodrigo. - 20.11.2012

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()



Re: Orgs with MySQL - ReneG - 20.11.2012

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'



Re: Orgs with MySQL - Rodrigo. - 20.11.2012

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