Ícone do site Linha de Comando

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"
Sair da versão mobile