Php 在Mysql中使用where和Like子句过滤数据

Php 在Mysql中使用where和Like子句过滤数据,php,mysql,sql,Php,Mysql,Sql,我在mysql数据库中使用LIKE关键字过滤数据。这是以下查询: Select c.c_id, c.c_name, slab, COUNT(c.c_id) as tot_visit, SUM(t.bill) as tot_revenue, c.priority, c.ratings From tbl_customer c inner join tbl_transaction t on c.c_id=t.c_id group by c.c_id Where r_id="r1" AND c.s

我在mysql数据库中使用LIKE关键字过滤数据。这是以下查询:

Select c.c_id, c.c_name, slab, 
COUNT(c.c_id) as tot_visit,
SUM(t.bill) as tot_revenue, c.priority, c.ratings 
From tbl_customer c
inner join tbl_transaction t on c.c_id=t.c_id
group by c.c_id 
Where r_id="r1" AND c.slab LIKE "%teen%"
$qry = mysql_query('Select c.c_id, c.c_name, c.slab, 
COUNT(c.c_id) as tot_visit,
SUM(t.bill) as tot_revenue, c.priority, c.ratings 
From tbl_customer c
inner join tbl_transaction t on c.c_id=t.c_id
Where r_id="r1" AND "'.$str.'" 
group by c.c_id');

当我删除此->和c.职业,如“%teen%”时,请尝试在
groupby

Select c.c_id, c.c_name, slab, 
COUNT(c.c_id) as tot_visit,
SUM(t.bill) as tot_revenue, c.priority, c.ratings 
From tbl_customer c
inner join tbl_transaction t on c.c_id=t.c_id
Where r_id="r1" AND c.occupation LIKE "%teen%"
group by c.c_id 

在以下查询中:

Select c.c_id, c.c_name, slab, 
COUNT(c.c_id) as tot_visit,
SUM(t.bill) as tot_revenue, c.priority, c.ratings 
From tbl_customer c
inner join tbl_transaction t on c.c_id=t.c_id
group by c.c_id 
Where r_id="r1" AND c.slab LIKE "%teen%"
$qry = mysql_query('Select c.c_id, c.c_name, c.slab, 
COUNT(c.c_id) as tot_visit,
SUM(t.bill) as tot_revenue, c.priority, c.ratings 
From tbl_customer c
inner join tbl_transaction t on c.c_id=t.c_id
Where r_id="r1" AND "'.$str.'" 
group by c.c_id');
这句话模棱两可:

Where r_id="r1" AND "'.$str.'" 
由于变量$str如下所示:

Where r_id="r1" AND '.$str.' 

感谢Stackoverflow提供的所有帮助。

将where子句置于group by子句之前您的where条件不满足任何条件,这就是为什么返回空结果集
where r\u id=“r1”
-
r\u id
可能应该是
t.r\u id
<“选择”中的“代码>板”也没有前缀。可能没有与您的条件匹配的行。