【发布时间】:2023-03-18 17:09:01
【问题描述】:
我希望创建一个简单的查询,以显示类别 ID 与数据库中的“类别”或“类别_2”列同时匹配品牌的所有产品。
我需要在同一个查询中使用 OR 和 AND。
这是我当前运行良好的查询:
$all="SELECT * FROM models WHERE category = " . $category['id'] . " AND brand = ". $brand_name['id'] ." ORDER BY year DESC, month DESC";
这就是我想要达到的目标:
$all="SELECT * FROM models WHERE category = " . $category['id'] . " OR category_2 = " . $category['id'] . " AND brand = ". $brand_name['id'] ." ORDER BY year DESC, month DESC";
但是,对于新查询,我所做的 AND 品牌部分不起作用。
【问题讨论】:
-
您的代码容易受到 SQL 注入的攻击。请学会使用prepared statements。
-
WHERE categoryID IN (category, category_2) ... -
@tereško 如果不是用户输入而是先前选择的结果,则不是。
-
检查我的答案
-
@vaso123 只是让注射变得有点困难。