Erro Consulta

Tenho uma tabela no mysql/phpmyadmin

Na tabela x, tenho o campo R.REPRES_USUARIO com os dados em caixa alta

Quando realizo a consulta a seguir passando por parametro o dado usuário minusculo o sistema acusa dados inválidos, segue consulta.:

select R.REPRES_NOME NOME, R.REPRES_USUARIO USUARIO, R.REPRES_SENHA SENHA, A.NIVEL_DESCRICAO TIPO from representantes R inner join acesso A on  R.NIVEL_ID = A.NIVEL_ID where R.REPRES_USUARIO = UPPER('$usuario') and R.REPRES_SENHA= '$senha'

poderiam me ajudar?

Obrigado.

O que vem a ser ‘$usuario’ e ‘$senha’? Poste todo o código relevante

São passados por paramotro uma string funcão ($usuario, $senha){ CORPO DA FUNCAO}

Bom, se eles estão entre aspas, são simplesmente Strings. Java não é PHP :slight_smile:

Pronto agora está em ““SQL”” com JAVA, blz?

select R.REPRES_NOME NOME, R.REPRES_USUARIO USUARIO, R.REPRES_SENHA SENHA, A.NIVEL_DESCRICAO TIPO from representantes R inner join acesso A on  R.NIVEL_ID = A.NIVEL_ID where R.REPRES_USUARIO = UPPER("+USUARIO+") and R.REPRES_SENHA= "+SENHA+"

Não, cara. Não está “beleza”

Desde a minha primeira resposta eu pedi pra você postar todo o código relevante

Ou você quer que eu use minha bola de cristal para adivinhar todo o código envolvido, todo o ambiente que você tem aí, e inclusive o seu banco de dados?

Mais especificamente, qual a mensagem de erro?

Pode estar havendo um problema de COLLATION.
Teste colocar BINARY na clausula WHERE, antes de R.REPRES_USUARIO e também antes de UPPER(’$usuario’).

select R.REPRES_NOME NOME, R.REPRES_USUARIO USUARIO, R.REPRES_SENHA SENHA, A.NIVEL_DESCRICAO TIPO from representantes R inner join acesso A on  R.NIVEL_ID = A.NIVEL_ID where BINARY R.REPRES_USUARIO = BINARY UPPER('$usuario') and R.REPRES_SENHA= '$senha'

Rodrigo Sasaki -> O ERRO NÃO É DE SISTEMA E SIM DE SINTAXE DE CONSULTA, sendo assim não é necessário ter o sistema completo rodando na versão licenciada , com registro e tudo mais para saber qual o erro, mesmo assim agradeço pela ajuda. Vlw cara preciso de alguem que entenda Sql, BDA, vlw Obrigado.

tondatto inserir em seguida lhe informo.

Bom, eu vim pra esse tópico no intuito de te ajudar, mas você não se mostrou cooperativo em nenhum sentido.

Você sequer disse qual é o erro específico que ocorreu ao tentar executar a query. Então muito bem, que outra pessoa fique brincando de “o que será que pode ser” com você.

Abraço!

O erro está na primeira menssagem, o sistema não está convertendo em letras maiusculas o parametro passado como lhe informei. Ou seja se coloco USUARIO acessa se coloco usuario não acessa.

Obrigado.

Use o UPPER como função especifica do PHP e não do banco. Pois da forma que está ele não armazena em cache as informações, isso prejudica performance. Fica mais pra cargo de conhecimento do que pra implementar em sua aplicação.
Quanto ao erro no R.REPRES_USUARIO você deu o alias de USUARIO e o mesmo serve para as outras tabelas, na comparação tente usar o alias ao invés do nome da tabela.

Amigo não tenho certeza, mas tente usar '"+'$senha'+"' e '"+'$usuario'+"'
talvez te ajude.

Que linguagem você está usando?