-3

当我尝试运行这些查询时

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”附近使用正确的语法

4

4 回答 4

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

此外,您可以使用连接语法。

于 2013-08-06T17:56:10.710 回答
0

你只能使用 where 一次。然后它应该跟着AND

你编码:

 WHERE p.product_id = pc.product_id AND pc.category_id ='.$category_id.' AND p.status=1
于 2013-08-06T17:56:52.930 回答
0

WHERE 子句仅包含一个 WHERE,后跟连接条件(通过使用 AND、OR 和括号连接以强制所述条件之间具有优先级)。

WHERE p.product_id = pc.product_id
AND pc.category_id = '.$category_id.'
AND p.status = 1
于 2013-08-06T17:58:25.437 回答
0
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子句。它尽可能最快的方法,也反对你更易读的方法。

对于选择通常使用的关键字ANDOR你应该阅读这篇文章

于 2013-08-06T17:59:59.570 回答