Ajuda [MySQL]
#6

Vк se vai.
Dei uma pequena "arrumada"
pawn Код:
#include <a_samp>
#include <a_mysql>

main(){}

public OnGameModeInit()
{
    mysql_connect("localhost","root","Vortex RPG","");
    mysql_query("CREATE TABLE IF NOT EXISTS pinfo (user VARCHAR(24), password VARCHAR(50), score INT(20), dinheiro INT(20) )");
    return 1;
}

public OnPlayerConnect(playerid)
{
    new escname[24], query[128];
    mysql_real_escape_string(GetName(playerid),escname);
    format(query,sizeof(query),"SELECT user FROM pinfo WHERE user = '%s'", escname); // Sу precisa usar as aspas simples quando for formatar o nome %s
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows()) {
        ShowPlayerDialog(playerid,2,1,"Login","Login","Login","Sair");
    }
    else {
        ShowPlayerDialog(playerid,1,1,"Registro","Registro","Registrar","Sair");
    }
    mysql_free_result();
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    new query[200], escname[24];
    mysql_real_escape_string(GetName(playerid),escname);
    format(query,sizeof(query),"UPDATE pinfo SET score = '%d', dinheiro = '%d' WHERE user = '%s'",GetPlayerScore(playerid),GetPlayerMoney(playerid),escname);
    mysql_query(query);
    return 1;
}

public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
    if(dialogid == 1)
    {
        if(!response)
            return Kick(playerid);
        if(response)
        {
            if(!strlen(inputtext[0]))
                return Kick(playerid);
            new escname[24];
            new escpass[50];
            new query[250];
            mysql_real_escape_string(GetName(playerid),escname);
            mysql_real_escape_string(inputtext,escpass);
            format(query,sizeof(query),"INSERT INTO pinfo (user, password, score, dinheiro) VALUES('%s','%s',5,5000)", escname, escpass);
            mysql_query(query);
            return 1;
        }
    }
    if(dialogid == 2)
    {
        if(!response)
            return Kick(playerid);
        if(response)
        {
            if(!strlen(inputtext[0]))
                return Kick(playerid);
            new escname[24];
            new escpass[50];
            mysql_real_escape_string(GetName(playerid),escname);
            mysql_real_escape_string(inputtext,escpass);
            new query[250];
            format(query,sizeof(query),"SELECT * FROM pinfo WHERE user = '%s' AND password = '%s'",escname,escpass);
            mysql_query(query); // Ele vai pesquinsar na database o usuario e a senha que o cara coloco, se nгo confirmar com o usuario e senha, vai dar num_rows 0
            mysql_store_result();
            if(mysql_num_rows())
            {
                format(query,sizeof(query),"SELECT * FROM pinfo WHERE user = '%s'",escname);
                mysql_query(query);
                mysql_store_result();
                new string[128];
                while(mysql_fetch_row_format(query,"|"))
                {
                    mysql_fetch_field_row(string,"score");
                    SetPlayerScore(playerid,strval(string));
                    mysql_fetch_field_row(string,"dinheiro");
                    GivePlayerMoney(playerid,strval(string));
                }
            }
            else
            {
                SendClientMessage(playerid, -1, "Senha e password nгo conferem!");
                Kick(playerid);
               
            }
            mysql_free_result();
            return 1;
        }
    }
    return 1;
}

stock GetName(playerid)
{
    new n[24];
    GetPlayerName(playerid,n,sizeof(n));
    return n;
}

/*stock GetName(playerid) // Vocк pode usar essa funзгo assim tambйm:
{
    new n[24], escname[24];
    GetPlayerName(playerid,n,sizeof(n));
    mysql_real_escape_string(n, escname);
    return escname;
}*/
Vocк tava usando 'user'
No correto seria, `user`
E cuidado com as querys grandes new query[700]; etc.
Nгo fica criando a database pelo script, faz uma logo no phpmyadmin.
Reply


Messages In This Thread
Ajuda [MySQL] - by Jason` - 18.01.2012, 01:26
Re: Ajuda [MySQL] - by Jason` - 18.01.2012, 02:37
Re: Ajuda [MySQL] - by Ricop522 - 18.01.2012, 02:52
Re: Ajuda [MySQL] - by Jason` - 18.01.2012, 03:43
Re: Ajuda [MySQL] - by BlackCoder - 18.01.2012, 08:03
Re: Ajuda [MySQL] - by Ricop522 - 18.01.2012, 10:58
Re: Ajuda [MySQL] - by Jason` - 18.01.2012, 14:10
Re: Ajuda [MySQL] - by Ricop522 - 18.01.2012, 15:07
Re: Ajuda [MySQL] - by Jason` - 18.01.2012, 15:17

Forum Jump:


Users browsing this thread: 1 Guest(s)