2016-11-11 44 views
0

我有一个MySQL查询:MySQL的最好选择多条件查询

SELECT * FROM product_variants WHERE (bottom_type = '$bottom_type1' OR bottom_type = '$bottom_type2') AND (bottom_size = '$bottom_size ') AND (product_id != '$product_id1 ' OR product_id != '$product_id2' OR product_id != '$product_id3') 

这是行不通的,因为它应该,它不是给我所需要的结果。 构建它的最佳方式是什么? 谢谢

+0

不要将变量插入到查询中。使用预准备语句/参数化查询。 – CollinD

回答

2

这只是我的猜测,你在追求什么。具有数据和预期结果的示例表结构将有助于回答您的问题。

SELECT * 
FROM product_variants 
WHERE bottom_type IN ('$bottom_type1', '$bottom_type2') 
AND bottom_size = '$bottom_size' 
AND product_id NOT IN ('$product_id1 ', '$product_id2', '$product_id3') 
+0

是的,它的工作原理应该如此。谢谢 –