[Ajuda] Ajuda login/reg MYSQL nгo reconhece contas
#1

Consegui fazer sistema em MYSQL salvando, mas nгo ta carregando, eu registro a conta ela й criada, mas qnd o cara loga, tem q registrara de novo, pq ele n consegue ver o player registarado

Nгo ta certo? \/

OnPlayerConnect(playerid)
pawn Code:
//=============================================================================================================================================================
// login e registro 2
    new query[512], savestr[50], rows, fields;
    mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM accounts WHERE UserID = %d", pInfo[playerid][UserID] );
    mysql_query(ConnectMYSQL,query);
    cache_get_data(rows, fields);
    if(rows)
    {
        new int_dest[33];
        int_dest[0] = cache_get_field_content_int(0, "UserID");                     pInfo[playerid][UserID] = int_dest[0];
    }
    mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM accounts WHERE UserID = %d", pInfo[playerid][UserID] );
    mysql_function_query(ConnectMYSQL, query, true, "OnConnection","i",playerid);
Reply
#2

Como vai carregar o id dele sem ter ele

@edit

Sem fla q o get_data , falta o parametro do connect.
Reply
#3

Ue mas o id n ta sendo carregado ali na hora? Nгo vi nada de mais, sу acho q a sitaxe й meio assim 'accounts', mas nгo sei falar direito nгo gosto mt de mysql
Reply
#4

Pq vc da select duas vezes cara?? nгo й mais facil vc verificar se o cara existe na OnConnect?
Reply
#5

Posta sua OnConnection, pro pessoal poder arrumar pra vocк
Reply
#6

Quote:
Originally Posted by mau.tito
View Post
Como vai carregar o id dele sem ter ele

@edit

Sem fla q o get_data , falta o parametro do connect.
Uй, mas no tutorial dizia que assim carregaria, nгo entendi abaixo do @edit

Quote:
Originally Posted by Ricop522
View Post
Pq vc da select duas vezes cara?? nгo й mais facil vc verificar se o cara existe na OnConnect?
Se ta dizendo pra eu tirar essa outra funзгo OnConnection? E colocar tudo ali mesmo? Por que essa era a forma que tava no tutorial pra checar se row, fiz tudo olhando o tutorial sou novato

Quote:
Originally Posted by Ricop522
View Post
Pq vc da select duas vezes cara?? nгo й mais facil vc verificar se o cara existe na OnConnect?
pawn Code:
forward OnConnection(playerid);
public OnConnection(playerid)
{
    new rows, fields;
    cache_get_data(rows, fields);
    if(rows)
    {
        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Your account has been found - Log-in", "Your account has been found in our database.\nPlease insert your password to continue.", "Log-in", "Quit");
    }
    else
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Your account hasn't been found - Register", "Your account couldn't be found in our database.\nPlease insert a new password to complete the registration.", "Register", "Quit");
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by maikons
View Post
Consegui fazer sistema em MYSQL salvando, mas nгo ta carregando, eu registro a conta ela й criada, mas qnd o cara loga, tem q registrara de novo, pq ele n consegue ver o player registarado

Nгo ta certo? \/

OnPlayerConnect(playerid)
pawn Code:
//=============================================================================================================================================================
// login e registro 2
    new query[512], savestr[50], rows, fields;
    mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM accounts WHERE UserID = %d", pInfo[playerid][UserID] );
    mysql_query(ConnectMYSQL,query);
    cache_get_data(rows, fields);
    if(rows)
    {
        new int_dest[33];
        int_dest[0] = cache_get_field_content_int(0, "UserID");                     pInfo[playerid][UserID] = int_dest[0];
    }
    mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM accounts WHERE UserID = %d", pInfo[playerid][UserID] );
    mysql_function_query(ConnectMYSQL, query, true, "OnConnection","i",playerid);
Nгo precisa verificar ai, muito menos duas vezes !
Te aconselho a verificar pelo nome do player, ou seja:

pawn Code:
//=============================================================================================================================================================
// login e registro 2
    new query[512], rows, fields;
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name); //SELECT * FROM accounts WHERE Name = %s TROQUE PELA QUAL ESTA NO SEU BANCO DE DADOS
    mysql_function_query(ConnectMYSQL, query, true, "OnConnection","i",playerid);
    // Agora em OnConnection use cache_get_field_content para pegar os dados e por em variaveis
    // ou como quiser
Reply
#8

Quote:
Originally Posted by Cleyson
View Post
Nгo precisa verificar ai, muito menos duas vezes !
Te aconselho a verificar pelo nome do player, ou seja:

pawn Code:
//=============================================================================================================================================================
// login e registro 2
    new query[512], rows, fields;
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_format(ConnectMYSQL, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s'", Name); //SELECT * FROM accounts WHERE Name = %s TROQUE PELA QUAL ESTA NO SEU BANCO DE DADOS
    mysql_function_query(ConnectMYSQL, query, true, "OnConnection","i",playerid);
    // Agora em OnConnection use cache_get_field_content para pegar os dados e por em variaveis
    // ou como quiser

Vlw brother +REP!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)