Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.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 检索具有LIKE且传递了某些id的行。_Php_Mysql_Sql - Fatal编程技术网

Php 检索具有LIKE且传递了某些id的行。

Php 检索具有LIKE且传递了某些id的行。,php,mysql,sql,Php,Mysql,Sql,我想检索关键字为“off”且sc_id必须等于“2”的行。我正在尝试下面的查询,但它会给我带关键字“Off”的行,并给出所有的sc_id。如何解决这个问题。id搜索是必须的部分 查询 SELECT c.* , sc.* , sm.* ,ca.* from store_category sc INNER JOIN store_manufacture sm ON sm.sm_id=sc.store_id INNER JOIN categories ca ON ca.cat_id

我想检索关键字为“off”且sc_id必须等于“2”的行。我正在尝试下面的查询,但它会给我带关键字“Off”的行,并给出所有的sc_id。如何解决这个问题。id搜索是必须的部分

查询

SELECT c.* , sc.* , sm.* ,ca.* 
from store_category sc 
INNER JOIN store_manufacture sm 
   ON sm.sm_id=sc.store_id 
INNER JOIN categories ca 
   ON ca.cat_id=sc.cat_id 
INNER JOIN coupons c 
   on c.c_sc_id=sc.sc_id 
WHERE sc.sc_id=2 
  AND c.c_name LIKE '%off%' 
   OR sm.sm_brand_name LIKE '%off%' 
   OR ca.cat_name LIKE '%off%' 
   OR c.c_description LIKE '%off%'

您需要在条件中使用括号,请尝试以下操作:

SELECT c.* , sc.* , sm.* ,ca.* 
from store_category sc 
INNER JOIN store_manufacture sm 
ON sm.sm_id=sc.store_id 
INNER JOIN categories ca 
ON ca.cat_id=sc.cat_id 
INNER JOIN coupons c 
ON c.c_sc_id=sc.sc_id 
WHERE sc.sc_id=2 
AND (c.c_name LIKE '%off%' 
OR sm.sm_brand_name LIKE '%off%' 
OR ca.cat_name LIKE '%off%' 
OR c.c_description LIKE '%off%');

我标记为重复,但现在我想知道您的问题是否是因为您使用了
,因此如果任何一个
关闭
,您可以在其他字段中使用
关闭
或任何值。我的问题完全不同。它应该提供我的关键字使用“关”加上sc_id是必须的。我正在接收带有off关键字的所有行,但我的查询没有考虑sc_id字段组
s
(c.c_名称如“%off%”,或sm.sm_品牌名称如“%off%”,或ca.cat_名称如“%off%”,或c.c_描述如“%off%”)
正如您所说的
其中sc.sc_id=2和c.c_名称如“%off%”
sm.sm_品牌名称如“%off%”或ca.cat_名称如“%off%”或c.c_描述如“%off%”显示示例数据和当前/预期输出。