Portal SAMP
[Ajuda] Query Especifica do MySQL - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Query Especifica do MySQL (/showthread.php?tid=4555)



Query Especifica do MySQL - Jamis2002 - 16/02/2024

Bom Dia/tarde/Noite!

Eu Estou Fazendo o Meu Sistema de Banco Normalmente, Mas tem Um Problema Ate Uns Dias Atras. O Conteúdo Do Botão Acessar Nessa Textdraw Diz O Seguinte:

Código PHP:
mysql_format(DBConnquerysizeof(query), "SELECT Owner, LastAccess, FROM_UNIXTIME(LastAccess, '%%d/%%m/%%Y %%H:%%i:%%s') AS Last FROM bank_accounts WHERE ID = %d && Password = md5('%e') && Disabled=0 LIMIT 1"IDBankPass);
mysql_tquery(DBConnquery"OnBankAccountLogin""d"playerid); 

Mas Essa Consulta Simplesmente NÃO RETORNA NENHUM RESULTADO.
Já Fiz Alguns Tratamentos (DEBUG), Recriei Tabelas, Já Testei a Query No Proprio phpMyAdmin (Por aqui ela Retorna Um Resultado) Mas No Código Nada Retorna. O Que Possa Ser?

Callback: OnBankAccountLogin
Código PHP:
Function:OnBankAccountLogin(playerid)
{
    new 
StrBank[255], AccountID Bank_GetAccountIDFromOwner(playerid);
    if(
cache_num_rows() > 0
    {
        
HideAuthBank(playerid);
        
ShowBankPanel(playerid);
        
//
        
format(StrBanksizeof(StrBank), "%s"pName(playerid));
        
PlayerTextDrawSetString(playeridTelaPainelBanco_PTD[playerid][0], StrBank);
        
//
        
new AccountBalance Bank_GetBalance(AccountID);
        
format(StrBanksizeof(StrBank), "$%s"formatInt(AccountBalance));
        
PlayerTextDrawSetString(playeridTelaPainelBanco_PTD[playerid][1], StrBank);
        
//
    
    new query[96];
    
    mysql_format(DBConnquerysizeof(query), "UPDATE bank_accounts SET LastAccess=UNIX_TIMESTAMP() WHERE ID=%d && Disabled=0"AccountID);
    
    mysql_tquery(DBConnquery);

    
    //Bank_SaveLog(playerid, TYPE_LOGIN, id, -1, 0);
    
}
    else
    {
        
SendClientMessage(playeridCOR_ERRO"| ERRO | Senha Incorreta!");
        return 
true;
    }
    return 
1;




RE: Query Especifica do MySQL - Carlos Victor - 17/02/2024

Talvez o problema seja lógica da cláusula WHERE usando o && que não é interpretado pelo SQL, e sim deve se usar o AND para && e o OR para ||.

Código PHP:
SELECT OwnerLastAccessFROM_UNIXTIME(LastAccess'%d/%m/%Y %H:%i:%s') AS Last FROM bank_accounts WHERE ID = %AND Password md5('%e') AND Disabled 0 LIMIT 1



RE: Query Especifica do MySQL - xbruno1000x - 17/02/2024

Você deve lembrar que as Querys devem ser feitas em SQL, que é uma linguagem com sintaxe e regras próprias. O && comum em C-likes não faz parte do SQL, ele é substituído pelo AND. Além disso, o || é substituído pelo OR.