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'
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+"
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?
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.
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ê.
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.
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.