Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudações amigos, estou com uma dúvida um pouco incomum:
Ao realizar uma consulta usando like nenhum registro é retornado quando o termo pesquisado inicia-se com 'ab', exemplo: "absalao , abilio, abigail", etc. Outras combinações funcionam perfeitamente.
Alguém já passou por esse problema?
O DB em questão é MariaDB e a linguagem que uso no momento é o PHP.
Posta o SQL da consulta
Este post relata algo parecido, mas no caso pareceu erro de sintaxe.
Seria um dos bugs de BD mais bizonhos que já vi.
>
Este post relata algo parecido, mas no caso pareceu erro de sintaxe.
Seria um dos bugs de BD mais bizonhos que já vi.
O mais estranho em tudo é que sem mudar nada no fonte php , apenas mudando o termo no input de busca, outros resultados aparecem. Já percorri todo o código verificando anomalias, imprimi o valor de todas as variáveis tanto do php quanto do javascript e todos os valores chegam como esperado.
O sql da consulta é :
<code>
SELECT * FROM clientes WHERE nome LIKE '" . $like . "%' order by nome asc"
</code>Rodando a SQL direto no BD o problema ocorre ?
Não ocorrendo deve ser alguma coisa no php, não conheço php mas algum evento no disparo do sql pode trocar este "ab" ?
>
Rodando a SQL direto no BD o problema ocorre ?
Não ocorrendo deve ser alguma coisa no php, não conheço php mas algum evento no disparo do sql pode trocar este "ab" ?
direto no terminal do banco roda perfeitamente
Checou se algum evento pode estar fazendo um REPLACE ou algo assim ?
Checou se algum evento pode estar fazendo um REPLACE ou algo assim ?
Chequei sim, debuguei tudo e todas as saídas estão normais. Sei lá se isso é bug de BD, ta mais pra bug de php.
Mas é cedo pra pensar nessa possibilidade. Vou continuar a jornada rumo à uma solução definitiva.
Como direto no bd funciona deve ser algo na camada de aplicação.
Agradeço aos amigos pela ajuda. Descobri a causa do problema, mas não a solução. Ocorre é que a consulta estava sendo paginada de 20 em 20 registros.
Tirando a paginação o problema se resolve. O que me leva a um novo problema. Como fazer paginação em consultas que tenham like?
Cara o problema esta na sua programação,
e no meu ver não tem nada a ver com mysql, creio que sua dúvida será melhor solucionada na área da sua linguagem de programação que no caso é PHP.
Nunca ouvi falar nisso