[Ajuda] [MySQL] Funзгo que desconheзo.
#1

Olб...
Entгo gente, eu to com um problema em uma funзгo, a mysql_fetch_row_format.
O que eu fiz e o que quero:
Bom, meu objetivo era fazer uma funзгo que quando o player fizesse o login abrisse uma dialog com uma lista de personagens com a mesma senha que ele (parece meio rнdiculo, mas й uma teste que quero fazer).

pawn Код:
new query2[300];
format(query2, sizeof(query2), "SELECT * FROM `playeraccounts` WHERE playerSenha = '%s'", escapedSenha);
mysql_query(query2, THREAD_CHECK_CHARACTERS, playerid);
//Isso vai selecionar todos os personagens que tem a senha igual a do player (escapedSenha)
Esta daqui fica em "OnQueryFinish".

pawn Код:
case THREAD_CHECK_CHARACTERS:
        {
            mysql_store_result();

            mysql_retrieve_row();

            if(mysql_num_rows() > 0)          
                    {            
                         while(mysql_fetch_row_format(result, " "))
                         {
                     format(szLargeString, sizeof(szLargeString), "%s\n%s", szLargeString, result);
             }
             ShowPlayerDialog(extraid, DIALOG_CHARACTERS, DIALOG_STYLE_LIST, "Personagens com mesma senha", szLargeString, "Selecionar", "");
                mysql_free_result();        
                        return 1;
                        //Aparece a dialog list com os personagens.
            }
            else            
            {            
                SendClientMessage(extraid, COLOR_RED, "SERVER: {FFFFFF}Nгo existe nenhum personagem com sua senha em comum..");
                //Kika se nгo tiver nenhum personagem com senha em comum.
                Kick(extraid);
            }
    }
O bug: quando eu faзo o login, nгo aparece nenhuma dialog.
OBS№: Nгo й problema na funзгo do login, й na mysql_fetch_row_format. Porque tenho tanta certeza? Eu fiz um teste, coloquei uma sendclientmessage no lugar daquela funзгo pra ver.
Reply
#2

Olб iansinho,

pawn Код:
mysql_fetch_row_format(result, " ")
jб testou nгo enviando um delimitador nulo ?... pode ser por isto.


Atenciosamente,
Falcon.
Reply
#3

Quote:
Originally Posted by [Y]Falcon
Посмотреть сообщение
Olб iansinho,

pawn Код:
mysql_fetch_row_format(result, " ")
jб testou nгo enviando um delimitador nulo ?... pode ser por isto.


Atenciosamente,
Falcon.
Infelizmente nгo era isso, Falcon.
Reply
#4

nгo tenho certeza se irб funcionar, mas tente com essa sintaxe:

Код:
select playerSenha from playeraccounts where playerSenha in (select playerSenha from playeraccounts group by playerSenha having count(*) > 1);
com

pawn Код:
mysql_fetch_row_format(result)
adicione uns printf para ver se retorna algo tambйm, sempre й bom para achar erros.
tirando isso eu nгo tenho mais idйia de oque pode ser, comecei usar mysql jб da versгo R7 do BlueG.
Reply
#5

os resultados sгo delimitados pelo caracter ' | '.
Reply
#6

Quote:
Originally Posted by [Y]Falcon
Посмотреть сообщение
nгo tenho certeza se irб funcionar, mas tente com essa sintaxe:

Код:
select playerSenha from playeraccounts where playerSenha in (select playerSenha from playeraccounts group by playerSenha having count(*) > 1);
com

pawn Код:
mysql_fetch_row_format(result)
adicione uns printf para ver se retorna algo tambйm, sempre й bom para achar erros.
tirando isso eu nгo tenho mais idйia de oque pode ser, comecei usar mysql jб da versгo R7 do BlueG.
essa sintaxe nгo funcionou...

Cara, eu coloquei printf dentro da while, mas nenhuma funзгo dentro da while funciona cara...
Tudo que eu coloco dentro dela nгo funciona.
pawn Код:
if(mysql_num_rows() > 0)          
            {
                new bigstring[150];
                while(mysql_fetch_row_format(result))
                {
                     format(bigstring, sizeof(bigstring), "%s%s\n", bigstring, result);
                     printf("dentro do while");
                     printf("valor bigstring:", bigstring);
                }              
                ShowPlayerDialog(extraid, DIALOG_CHARACTERS, DIALOG_STYLE_LIST, "Selecionar Personagem", bigstring, "Selecionar", "");             
                mysql_free_result();
            }
Reply
#7

printf("valor bigstring: %s", bigstring);
Reply
#8

Quote:
Originally Posted by [Y]Falcon
Посмотреть сообщение
printf("valor bigstring: %s", bigstring);
kk isso foi fail meu lб, mas mesmo assim, NADA la dentro funciona.
Nгo mandou nem o "dentro do while". Essa while й como se nгo existisse.
Reply
#9

Ja tive problema Assim uma vez..
Tudo que tinha abaixo de uma Linha la Nгo funcionava, somente oque tinha Acima..

A Soluзгo que eu fiz lб , nгo й a mesma que em seu caso.
Reply
#10

Mas o que vocк fez? huahua
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)