Autenticacao no delphi for php

20/09/2007

0

Bom dia mocada, o bola da vez é a seguinte, estou criando uma aplicacao para autenticar um usuario valido no banco de dados firebird, coloquei em meu projeto os seguinte componentes:
1 database, 1 query, 1 datasource, 1 basicauthentication e no evento OnAuthentication coloquei o codigo abaixo:
[b:c3e1acb076]
function BasicAuthentication1Authenticate($sender, $params)
{
$this->qryUsuario->Filter = ´where USU_LOGIN =´´.$params[´username´].
´´ and USU_SENHA=´´.$params[´password´].´´´;
$this->qryUsuario->Open();
if ($this->qryUsuario->RecordCount > 0) {
echo(´Não Logado !!!´);
return(true);
}
else{
echo(´Não Logado !!!´);
return(false);
}

}

[/b:c3e1acb076]

dai deu a seguinte mensagem de erro:

[b:c3e1acb076][i:c3e1acb076]
Application raised an exception class ADODB_Exception with message ´borland_ibase error: [-104: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 64 where ] in EXECUTE(´select USU_LOGIN, USU_SENHA from TAB_USUARIOS where where USU_LOGIN =´l´ and USU_SENHA=´l´ ROWS 10 ´)
[/b:c3e1acb076][/i:c3e1acb076]

dai me veio duas duvidas:

1ª - sera que concatenei minha string de forma correta, caso a resposta seja não qual seria a forma correta?

2ª - se eu quizesse ao invez de concatenar passar parametro, como seria a forma correta de montar a string para consulta e como seria o codigo da atribuicao na aplicacao?


Obs.: os campos do select da query estao iguais aos dos fields no data explorer e nome da tabela tambem.


Agradeço desde já,


At.: Luciano Edgard


Luciano Andrade

Luciano Andrade

Responder

Posts

04/12/2007

Giordanocwb

Repare que o select que foi montado tem duas instruções WHERE. Na propriedade Filter, não devemos especificar o WHERE, pois ele já faz isso automaticamente. Retire o WHERE do começo do Filter e sua instrução irá funcionar.

T+


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar