当我尝试运行这些查询时
Select * from products p, products_to_categories pc
where p.product_id = pc.product_id and pc.category_id ='.$category_id.'
where p.status=1
出现以下错误
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“where p.status=1”附近使用正确的语法
当我尝试运行这些查询时
Select * from products p, products_to_categories pc
where p.product_id = pc.product_id and pc.category_id ='.$category_id.'
where p.status=1
出现以下错误
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“where p.status=1”附近使用正确的语法
对于其他条件,请使用and
/or
而不是另一个where
.
Select *
from products p
inner join products_to_categories pc on p.product_id = pc.product_id
where pc.category_id = '.$category_id.'
and p.status = 1
此外,您可以使用连接语法。
你只能使用 where 一次。然后它应该跟着AND
你编码:
WHERE p.product_id = pc.product_id AND pc.category_id ='.$category_id.' AND p.status=1
WHERE 子句仅包含一个 WHERE,后跟连接条件(通过使用 AND、OR 和括号连接以强制所述条件之间具有优先级)。
WHERE p.product_id = pc.product_id
AND pc.category_id = '.$category_id.'
AND p.status = 1
Select * from products p
inner join products_to_categories pc
on p.product_id = pc.product_id
where pc.category_id ='.$category_id.'
and p.status=1
为了获得更多的语句性能(特别是如果你有很多行),我建议你使用JOIN
子句。它尽可能最快的方法,也反对你更易读的方法。
对于选择通常使用的关键字AND
,OR
你应该阅读这篇文章。