1
Something wrong with this query?
It is showing all the data without any filtering. But when I take the LIKEs
It works or if I take the BETWEEN
and leave the LIKEs
it works. One works without the other. Why?
$produto = mysql_query("SELECT idProduto, tipoProduto, imagemProduto, marcaProduto, modeloProduto, conservacaoProduto, anoProduto, kmProduto, corProduto, portasProduto, transmissaoProduto, combustivelProduto, valorProduto, destaqueProduto, visivelProduto, opcionaisProduto, observacoesProduto, 'datacriacaoProduto', 'dataalteracaoProduto', usuariocriacaoProduto, usuarioalteracaoProduto FROM produto WHERE
(tipoProduto LIKE '%".$tipo."%') OR
(marcaProduto LIKE '%".$marca."%') OR
(modeloProduto LIKE '%".$modelo."%') OR
(conservacaoProduto LIKE '%".$conservacao."%') OR
(anoProduto BETWEEN '".$minano."' AND '".$maxano."') OR
(valorProduto BETWEEN '".$minpreco."' AND '".$maxpreco."') OR
(kmProduto BETWEEN '".$minkm."' AND '".$maxkm."')")
It shouldn’t be everything
AND
? WithOR
, The more conditions you put in, the more results you tend to get. And be careful, there is a security problem in the code, see http://answall.com/questions/3864/como-prevenir-inje%C3%A7%C3%A3o-de-c%C3%B3digo-sql-no-meu-c%C3%B3digo-php– bfavaretto
I have put everything as AND also and nothing. I think it may be the parentheses, but I do not know the correct sequence of how to put them, if this is the case.
– Saullo Bueno
removes the parentheses
– Leandro