Array
(
)

Autenticacao no delphi for php

Luciano Andrade
   - 20 set 2007

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:

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);
}

}



dai deu a seguinte mensagem de erro:


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 ´)


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


Giordanocwb
   - 04 dez 2007

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+