[Ajuda] enum em MySQL
#1

Amigos, beleza?
Eu sei que pode ser uma pergunta bem boba, mas й o que tб me dando umas dъvidas, entгo resolvi tirar a dъvida aqui. Jб lн em vбrios lugares que й bom usar um enum quando se tem um server MySQL. Pra quк uso este enum? Como faзo este procedimento?

Desde jб muito obrigado! Abraзos!
Reply
#2

Seria mais ou menos assim:

pawn Код:
enum Porra
{
     pPorra,
     pMendigo,
     pExtreme
};
new PlayerData[MAX_PLAYERS][uPorra];
E Usaria-se assim: (strtock)

pawn Код:
stock UserLoggedIn(playerid)
{
     format(sqlQuery, sizeof(sqlQuery), "SELECT * FROM accounts WHERE username = '%s'", PlayerName(playerid)); // PlayerName returns the name
     mysql_query(sqlQuery);
     mysql_store_result();

     if(mysql_fetch_row(sqlQuery))
     {
          sscanf(sqlQuery, "p<|>e<s[24]s[255]i>", PlayerData[playerid]);
     }
     mysql_free_result();
    return 1;
}
Й Apenas para ter uma ideia, nгo adianta crtrl + v que nгo funcionarб sem seu conhecimento.
Reply
#3

Amigo, entendi. Mas nгo entendi o que й isso:
pawn Код:
sscanf(sqlQuery, "p<|>e<s[24]s[255]i>", PlayerData[playerid]);
E outra coisa: tem como eu colocar uma string dentro de um enum?
Reply
#4

Quote:
Originally Posted by Mutuka_XTreme
Посмотреть сообщение
Amigo, entendi. Mas nгo entendi o que й isso:
pawn Код:
sscanf(sqlQuery, "p<|>e<s[24]s[255]i>", PlayerData[playerid]);
E outra coisa: tem como eu colocar uma string dentro de um enum?
Isso estб fazendo uma "divisгo" na resposta do banco de dados e atribuindo os valores ao enumerador com seus blocos correspondentes. Porйm, esta й uma versгo old do MySQL, sugiro utilizar a versгo R7.

Sim, tem como.

pawn Код:
enum
    player_data
{
    player_email[100],
    //....
}

new
    playerdata[MAX_PLAYERS][player_data];
Atribuindo um valor: (exemplo)
pawn Код:
format(playerdata[id][player_email], 100, "player@email.com.br");
Reply
#5

Blaz3r, essa parte atribui o valor da consulta ao banco de dados а uma variбvel?

pawn Код:
format(playerdata[id][player_email], 100, "player@email.com.br");
Reply
#6

Nгo, tб simplesmente formatando a variavel player_email para o email que ele vai usar. Pra atribuir valores ao banco de dados vocк vai precisar usar uma query.

Код:
format(query, sizeof(query), "UPDATE `table` SET `email` = '%s' WHERE id = '%d'", playerinfo[playerid][pEmail], playerinfo[playerid][pSqlID]);
mysql_function_query(Conexao, query, false, "NoReturnQuery", "");
Reply
#7

Nгo HashFr, vocк nгo entendeu. Reformulando a minha pergunta:
Essa parte que o Blaz3r citou coloca em uma variбvel o valor que pegou do Banco de Dados?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)