SA-MP Forums Archive
[Ajuda] Mysql - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Mysql (/showthread.php?tid=540715)



Mysql - VeNuZ_ - 06.10.2014

Isto nгo estб correcto ?

pawn Код:
#define MysqlQuery(%0,%1) \
        mysql_format(MysqlConnect, iQuery, sizeof(iQuery), %0, %1);\
        printf("%s", iQuery); \
        mysql_tquery(MysqlConnect, iQuery, "")
//============================================

MysqlQuery("SELECT name FROM users WHERE name='%s' AND banned = 1", GetName(playerid));
    if(cache_num_rows() != 0){
        SendClientMessage(playerid, 0xFF000098, "[BANIDO] O teu username encontra-se banido. Podes obter mais informaзхes criando um tуpico em www.Tuga-Revolution.com");
        KickEx(playerid);
    }
Dб-me o seguinte warning:



Re: Mysql - Deeh16 - 06.10.2014

Vocк esta usando 'Select' precisarб chamar uma callback e ativar os caches para obter um resultado.

Algo do Gкnero
pawn Код:
#define MysqlQuery(%0,%1) \
        mysql_format(MysqlConnect, iQuery, sizeof(iQuery), %0, %1);\
        printf("%s", iQuery);


    MysqlQuery("SELECT name FROM users WHERE name='%s' AND banned = 1", GetName(playerid));
    mysql_tquery(MysqlConnect, iQuery, "r@Banned","d",playerid);

 forward r@Banned(playerid);
 public r@Banned(playerid){
    if(cache_num_rows() != 0){
        SendClientMessage(playerid, 0xFF000098, "[BANIDO] O teu username encontra-se banido. Podes obter mais informaзхes criando um tуpico em www.Tuga-Revolution.com");
        KickEx(playerid);
    }

    return true;
}



Re: Mysql - VeNuZ_ - 06.10.2014

Optei por fazer assim:
pawn Код:
#define MysqlQuery(%0.%1.%2.%3.%4) \
        mysql_format(MysqlConnect, iQuery, sizeof(iQuery), %0, %1);\
        printf("%s", iQuery); \
        mysql_tquery(MysqlConnect, iQuery, %2, %3, %4)
//===========
MysqlQuery("SELECT name FROM bans WHERE ip = '%s'". GetName(playerid). "OnPlayerCheckBan". "ii". 0, playerid);
//==========
public OnPlayerCheckBan(type, playerid)
{
    if(cache_num_rows() != 0){
        SendClientMessage(playerid, 0xFF000098, "[BANIDO] O teu ip encontra-se banido. Podes obter mais informaзхes criando um tуpico em www.Tuga-Revolution.com");
        KickEx(playerid);
        return 1;
    }
    return 1;
}