[AJUDA] Sistema MySQL
#1

Boa Noite galera, estou tentando colocar na minha GM um sistema em MySQL, usei o tutorial do Ricop so pra criar o sistema de registro mesmo, mas estou com um pequeno problema mas que nгo consigo resolver!

Esta dando o seguinte erro:

pawn Код:
error 049: invalid line continuation
Segue o codigo com a linha com o problema:

pawn Код:
if(dialogid == 1)
        {
            if(!response)
            {
                return SendClientMessage(playerid, 0xFF0000, "You must login before you spawn!"),
                ShowPlayerDialog(playerid, 15500, DIALOG_STYLE_INPUT, "Login","Vocк em que logar antes de jogar cara!!","Logar","Cancelar");
            }
            if(response) //Clicou em Login
            {
                new query[200], pname[128], escapepass[100]; //
                new numrows = mysql_num_rows();
                GetPlayerName(playerid, pname, 128);
                mysql_real_escape_string(inputtext, escapepass); //Contra HACKERS! (RE: MySQL Injections
                format(query, sizeof(query), "SELECT `Nome` FROM contas WHERE Nome = '%s' AND Senha = SHA1('%s')", pname, escapepass);
                mysql_query(query);
                mysql_store_result();
                if(numrows == 1) MySQL_Login(playerid);
                //senha do jogador e da database sгo iguais/\
                if(!numrows)//ESTA E A LINHA COM O ERRO.
                {
                    //senha errada
                    SendClientMessage(playerid, 0xFF0000, "Senha Incorreta!");
                }
                mysql_free_result(); //LEMBRE-SE DE DAR SEMPRE FREE RESULT PARA LIBERAR O QUERY;
            }
        }
Tentei substituir por Else If e if(numrows == 0) so para ver se funcionava, mas continuou o mesmo erro. Se alguem me ajudar eu ficaria muito agradecido!
Reply
#2

pawn Код:
if(numrows == 1)
{
    MySQL_Login(playerid);
}
else
{
    SendClientMessage(playerid, 0xFF0000, "Senha Incorreta!");
}
Tenta assim
Reply
#3

Continua com o mesmo erro.

@EDIT

Tirei o codigo que estava dando erro so pra testar massss parece que o meu codigo esta endemoniado, mesmo tirando continua dando o mesmo erro na mesma linha '-'. Alguem tem ideia de que pode ser!
Reply
#4

pawn Код:
if(response) //Clicou em Login
            {
                new query[200], pname[128], escapepass[100]; //
                new numrows = mysql_num_rows();
                GetPlayerName(playerid, pname, 128);
                mysql_real_escape_string(inputtext, escapepass); //Contra HACKERS! (RE: MySQL Injections
                format(query, sizeof(query), "SELECT `Nome` FROM contas WHERE Nome = '%s' AND Senha = SHA1('%s')", pname, escapepass);
                mysql_query(query);
                mysql_store_result();
                if(!numrows)//ESTA E A LINHA COM O ERRO.
                {
                    //senha errada
                    SendClientMessage(playerid, 0xFF0000, "Senha Incorreta!");
                    return 1;
                }
                MySQL_Login(playerid);
                mysql_free_result(); //LEMBRE-SE DE DAR SEMPRE FREE RESULT PARA LIBERAR O QUERY;
            }
        }
Tenta
Reply
#5

Pedro, vlw, funcionou, + reputation pra vc ^^. Agora o problema e que o meu Login nao esta funcionando corretamente "NAO ESTA SALVANDO OS DADOS, QUANDO EU CONECTO, EU N ESTOU REGISTRADO, MAS FALA QUE ESTOU, DIGITO QUALQUER SENHA E VOLTA PARA A MESMA DIALOG DE LOGIN DNVO, ACREDITO QUE SEJA FACIL DE RESOLVER "
Reply
#6

Posta ai a OnPlayerConnect
Reply
#7

Esta e a parte da OnPlayerConnect relacionada ao sistema de Login em MySQL e onde eu acredito que esteja o problema:

pawn Код:
format(query,sizeof(query),"SELECT 'Nome' FROM 'contas' WHERE 'Nome' = '%s'",plname);
    mysql_query(query);
    mysql_store_result();
    new rows = mysql_num_rows(); //Iremos getar quantas rows a query retornou.
    if(!rows)
    {
        //Se a rows for 0, nгo encontrou nada

        //Entгo iremos pedir o registro do jogador no banco de dados.
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFF00}Registrar BPR","{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta nao esta registrada! \n\n{33FF00}Por favor, registre-se!!\n{33CCFF}******************************************","Registrar","Cancelar");
    }
    if(rows) //SENГO
    {
        //Rows = 1 , existe na database
        //AUTO LOGIN
        GetPlayerName(playerid,plname,sizeof(plname));
        mysql_fetch_field_row(plname,"Nome");
        MySQL_Login(playerid);
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FFFF00}Login BPR", "{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta foi Registrada! \n\n{33FF00}Por favor logue na sua conta!!\n{33CCFF}******************************************", "Logar", "Sair");
        pRegistrado[playerid] = 1; //Sets the registered variable to 1 (Shows that the player is registered).
    }
    mysql_free_result();
Reply
#8

pawn Код:
format(query,sizeof(query),"SELECT * FROM contas WHERE Nome = '%s'",plname);
Tenta colocar isso
Reply
#9

Pedro, vlw pela ajuda, de fato era isso ai mesmo. Se eu puder te ajudar em alguma coisa e sу dizer ^^! Estava com alguns outros problemas de salvamento, mas ja resolvi, agora e so mudar parte por parte para salvar em MySQL ^^!
Reply
#10

Sу uma dica
pawn Код:
if(!rows)
    {
        //Se a rows for 0, nгo encontrou nada

        //Entгo iremos pedir o registro do jogador no banco de dados.
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFF00}Registrar BPR","{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta nao esta registrada! \n\n{33FF00}Por favor, registre-se!!\n{33CCFF}******************************************","Registrar","Cancelar");
    }
    if(rows) //SENГO
    {
        //Rows = 1 , existe na database
        //AUTO LOGIN
        GetPlayerName(playerid,plname,sizeof(plname));
        mysql_fetch_field_row(plname,"Nome");
        MySQL_Login(playerid);
        gPlayerConta[playerid] = 0;
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FFFF00}Login BPR", "{33CCFF}******************************************\n{33FF00}Bem Vindo ao [BPR] Brasil Play Roleplay [BPR] \n{33FF00}Sua conta foi Registrada! \n\n{33FF00}Por favor logue na sua conta!!\n{33CCFF}******************************************", "Logar", "Sair");
        pRegistrado[playerid] = 1; //Sets the registered variable to 1 (Shows that the player is registered).
    }
Nгo precisa ficar criando new rows = my.. й um new inutil
E nessa parte vocк nao precisa if(!rows) depois usar if(rows) usa else.


RE: senгo = else
if = se
else if = ou se
else = senгo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)