MySQL: Utilizando corretamente WHERE, LIKE, OR e AND

Um pequeno exemplo de como utilizar WHERE, LIKE, OR e AND num SELECT.

A variável $busca recebe o valor digitado de um campo, tipo um campo de busca de produtos (input type=text).

Forma errada:
Ao executar esse SELECT as condições do AND não são interpretadas, devido a forma como está montado o Select.

"SELECT * FROM produtos 
WHERE descricao_produto like '%".$busca."%' OR titulo_produto like '%".$busca."%'
AND qtd_imagens_produto > 0
AND ativo = 1"

Forma correta:

"SELECT * FROM produtos
WHERE  (descricao_produto like '%".$busca."%' OR  (titulo_produto like '%".$busca."%'))
AND qtd_imagens_produto > 0
AND ativo = 1"

ou ainda…

"SELECT * FROM produtos
WHERE (descricao_produto like '%".$busca."%' OR titulo_produto like '%".$busca."%')
AND qtd_imagens_produto > 0
AND ativo = 1"

10 comentários em “MySQL: Utilizando corretamente WHERE, LIKE, OR e AND

  • 1 de maio de 2014 em 18:47
    Permalink

    Olá Tiago, repassei essa dica e como sempre ajudou muito.
    Obrigado

    Resposta
  • 27 de abril de 2015 em 14:03
    Permalink

    Muito Obrigado pela ajuda!
    tive alguns problemas em relação ao LIKE OR e AND juntos.

    Sanados! Obrigado!

    Resposta
  • 4 de outubro de 2015 em 22:24
    Permalink

    Valeu pela dica! Tava um tempão aqui quebrando a cabeça. Abs.

    Resposta
  • 30 de janeiro de 2016 em 15:40
    Permalink

    Obrigado, isso me ajudou de uma forma incrível. Estava quase desistindo até encontrar a solução aqui.

    Resposta
  • 10 de junho de 2016 em 12:46
    Permalink

    Muito Obrigado, simples e prático !!

    Resposta
  • 25 de julho de 2016 em 12:53
    Permalink

    Legal! Bati a cabeça para ajustar um problema com LIKE nas minhas query´s.
    Obrigado pela ajuda!

    Resposta
  • 30 de novembro de 2017 em 16:12
    Permalink

    Como para para utilizar uma variável como parâmetro para o LIKE? Tentei de várias formas e não dá certo. =/

    Resposta
    • 30 de novembro de 2017 em 16:14
      Permalink

      Como faço*.
      PS: Se isso for possível, é claro.

      Resposta
      • 6 de dezembro de 2017 em 21:30
        Permalink

        Fala Jessé.

        No post eu mostro como fazer.

        Se quiser, me envia o select para eu analisar.

        Abraço

        Tiago

        Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *