Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用in()的Mysql查询不';工作_Php_Mysql_Sql - Fatal编程技术网

Php 使用in()的Mysql查询不';工作

Php 使用in()的Mysql查询不';工作,php,mysql,sql,Php,Mysql,Sql,我正试图通过此查询查找与类别列表相关的所有产品: SELECT p.id, product_name, added_date FROM products p, products_to_categories ptc WHERE ptc.category_id in ("89,88,83,87,84,85,86,82") AND ptc.product_id=p.id and p.active="1" group by p.id 如果我切断条件且ptc.product_id=p.id

我正试图通过此查询查找与类别列表相关的所有产品:

SELECT p.id, product_name, added_date 
FROM products p, products_to_categories ptc 
WHERE ptc.category_id in ("89,88,83,87,84,85,86,82") 
AND ptc.product_id=p.id and p.active="1" 
group by p.id   
如果我切断条件
且ptc.product_id=p.id
返回行-激活条件的行错误。。 通过1次查询获得正确信息的正确方法是什么?-有可能吗?
谢谢

如果激活的是
int/bool

$q='SELECT p.id, product_name, added_date 
FROM products p, products_to_categories ptc 
WHERE ptc.category_id in (89,88,83,87,84,85,86,82) 
AND ptc.product_id=p.id and p.active=1
group by p.id';

如果激活的是
int/bool

$q='SELECT p.id, product_name, added_date 
FROM products p, products_to_categories ptc 
WHERE ptc.category_id in (89,88,83,87,84,85,86,82) 
AND ptc.product_id=p.id and p.active=1
group by p.id';

不要引用类别ID列表:

SELECT p.id, product_name, added_date 
FROM products p
JOIN products_to_categories ptc ON ptc.product_id=p.id
WHERE ptc.category_id IN (89, 88, 83, 87, 84, 85, 86, 82) 
AND p.active="1" 
GROUP BY p.id

不要引用类别ID列表:

SELECT p.id, product_name, added_date 
FROM products p
JOIN products_to_categories ptc ON ptc.product_id=p.id
WHERE ptc.category_id IN (89, 88, 83, 87, 84, 85, 86, 82) 
AND p.active="1" 
GROUP BY p.id

不要用括号封装所有类别。MySQL将其解释为单个类别。封装每个类别,例如“89”、“90”、“91”。您也可以跳过括号,因为它是您查询的整数


如果ID是字符串,则可以对其进行封装,例如“一”、“二”、“三”。

不要用括号封装所有类别。MySQL将其解释为单个类别。封装每个类别,例如“89”、“90”、“91”。您也可以跳过括号,因为它是您查询的整数


如果ID是字符串,你可以将它们封装起来,例如“一”、“二”、“三”。

伙计们,我删除了引号,得到了额外的一行,但仍然没有完全正确的结果,我尝试了@Barmar的查询,仍然。。还有什么?请发布一些示例数据和预期结果。您的查询没有问题,只是我复制/粘贴的问题。。我接受它的回答,谢谢你们,我删除了引号并获得了额外的一行,但仍然没有完全正确的结果,我尝试了@Barmar的查询,仍然。。还有什么?请发布一些示例数据和预期结果。您的查询没有问题,只是我复制/粘贴的问题。。我接受回答,谢谢你
活动列的
数据类型是什么?活动是枚举('0','1')通常在枚举中使用数字字符串是个坏主意。
活动列的
数据类型是什么?活动是枚举('0','1')通常在枚举中使用数字字符串是个坏主意。