SA-MP Forums Archive
[Ajuda] Ler valor numa coluna MySQL - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Ler valor numa coluna MySQL (/showthread.php?tid=556726)



Ler valor numa coluna MySQL - bruxo00 - 11.01.2015

Boas. Como й que se faz isto? Jб ando а procura а dias, e nгo encontro!!!!!

Estou a usar o plugin MySQL R5 que tem a funзгo mysql_store_result(); que pensava que me ia ajudar, mas enganei-me...

Neste momento tenho esta parte do cуdigo:

PHP код:
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_DBMYSQL_PASSWORD);
    new 
query[128];
    
format(querysizeof(query), "SELECT 'Anticheat' FROM `users` WHERE `Username` = 'Diogo_Rodgers'");
    
    
mysql_query(query);
    
mysql_store_result(); 
A tabela й esta:



Como й que se faz isto? ...


Re: Ler valor numa coluna MySQL - n0minal - 11.01.2015

Adciona ao seu cуdigo:
Код:
new anticheat = mysql_fetch_int();
mysql_free_result();
Dai vc usa a variбvel pra fazer oq vc quer (exemplo feito com base na R6)...


Re: Ler valor numa coluna MySQL - s4kuL - 11.01.2015

Use mysql_fetch_field_row + mysql_free_result.


Re: Ler valor numa coluna MySQL - bruxo00 - 11.01.2015

Quote:
Originally Posted by n0minal
Посмотреть сообщение
Adciona ao seu cуdigo:
Код:
new anticheat = mysql_fetch_int();
mysql_free_result();
Dai vc usa a variбvel pra fazer oq vc quer (exemplo feito com base na R6)...
Assim o valor retorna -1 sempre...


Re: Ler valor numa coluna MySQL - VeNuZ_ - 11.01.2015

Meta ao contrбrio:

PHP код:
mysql_store_result();
new 
anticheat mysql_fetch_int();
mysql_free_result(); 



Re: Ler valor numa coluna MySQL - s4kuL - 11.01.2015

Olha vou te mandar minha callback onde carrega os dados do jogador e vocк tira uma base.

pawn Код:
CarregarPlayer(playerid)
{
    new arquivo[256],savingstring[256];

    format(arquivo,sizeof(arquivo),"SELECT * FROM `contas` WHERE `Username` = '%s'",nome(playerid));

    mysql_query(mysql, arquivo);
    mysql_store_result();
   
    while(mysql_fetch_row_format(arquivo,"|"))
    {
        mysql_fetch_field_row(savingstring, "Username"); nome(playerid);
        mysql_fetch_field_row(savingstring, "Password"); PlayerInfo[playerid][Password] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Ip"); PlayerInfo[playerid][PIP] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Admin"); PlayerInfo[playerid][Admin] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Level"); PlayerInfo[playerid][Level] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Kills"); PlayerInfo[playerid][Kills] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Deaths"); PlayerInfo[playerid][Deaths] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "MutedTime"); PlayerInfo[playerid][MutedTime] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "WeaponSet"); PlayerInfo[playerid][WeaponSet] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Banned"); PlayerInfo[playerid][Banned] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Gangue_Id"); PlayerInfo[playerid][idgang] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "Lider"); PlayerInfo[playerid][IsLider] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "RacePoints"); PlayerInfo[playerid][RacePoints] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "DuelsWon"); PlayerInfo[playerid][DuelsWon] = strval(savingstring);
        mysql_fetch_field_row(savingstring, "DuelsLost"); PlayerInfo[playerid][DuelsLost] = strval(savingstring);
       
        SetPlayerScore(playerid,PlayerInfo[playerid][Level]);
    }
    mysql_free_result();
    return 1;
}



Re: Ler valor numa coluna MySQL - Bruno_Cyra - 11.01.2015

Verifica se a consulta estб correta, testa ela no phpmyadmin ou outro aplicativo.


Re: Ler valor numa coluna MySQL - VeNuZ_ - 11.01.2015

O ъnica problema dele й que nгo estava a fazer o store result... Use a minha resposta que darб certo..

PHP код:
mysql_store_result(); 
new 
anticheat mysql_fetch_int(); 
mysql_free_result(); 



Re: Ler valor numa coluna MySQL - bruxo00 - 11.01.2015

@ VeNuZ_
Ele assim nгo vai apagar o resultado antes de o usar?

@s4kuL
Obrigado pela ajuda, mas esse cуdigo estб a usar strings, eu queria mesmo a usar uma int.

@Bruno_Cyra
Nгo hб problemas com o phpMyAdmin porque as funзхes de actualizar dados funcionam bem.


Re: Ler valor numa coluna MySQL - bruxo00 - 11.01.2015

Quote:
Originally Posted by VeNuZ_
Посмотреть сообщение
O ъnica problema dele й que nгo estava a fazer o store result... Use a minha resposta que darб certo..

PHP код:
mysql_store_result(); 
new 
anticheat mysql_fetch_int(); 
mysql_free_result(); 
Estou a fazer isso sim.

PHP код:
stock CheckAntiCheat()
{
    
mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_DBMYSQL_PASSWORD);
    new 
query[128];
    
format(querysizeof(query), "SELECT 'Anticheat' FROM `users` WHERE `Username` = 'Diogo_Rodgers'");
    
    
mysql_query(query);
    
mysql_store_result();
    new 
anticheat mysql_fetch_int();
    
mysql_free_result();
    
    
printf("Anticheat: %d"anticheat);
    
    if(
anticheat == 1) return 1;
    if(
anticheat == 0) return 0;
    
    return 
2;

PHP код:
[15:19:08Anticheat: -



Re: Ler valor numa coluna MySQL - s4kuL - 11.01.2015

Cara esse cуdigo nгo й sу para strings, server tambйm para inteiros.

Por exemplo:

Ip й uma string e Admin й um inteiro e funciona perfeitamente comigo.


Re: Ler valor numa coluna MySQL - n0minal - 12.01.2015

mysql_fetch_field_row foi criado para usar em strings...


@Bruxo: tenta colocar:

mysql_retrieve_row();
new anticheat = mysql_fetch_int();

E ve se funciona, caso n funcione use:

new result[32];
mysql_fetch_field_row(result, "Anticheat");
new anticheat = strval(result);


Re: Ler valor numa coluna MySQL - bruxo00 - 12.01.2015

Nгo sei o que se passa, isto nгo quer dar...

PHP код:
mysql_retrieve_row();
new 
anticheat mysql_fetch_int(); 
Retornou -1.

PHP код:
new result[32];
mysql_fetch_field_row(result"Anticheat");
new 
anticheat strval(result); 
Retornou 0.


Re: Ler valor numa coluna MySQL - bruxo00 - 12.01.2015

Nгo consigo pфr isto a funcionar, que raiva!!!

Do primeiro jeito retorna igual (-1).
Do segundo jeito retorna 0.


Re: Ler valor numa coluna MySQL - StreetGT - 25.06.2015

Conseguiste?