tp框架和SQL语句查询数据表中的某字段包含某值

来源:互联网 发布:淘宝是日本的 编辑:程序博客网 时间:2024/05/17 08:56

有时我们需要查询某个字段是否包含某值时,通常用like进行模糊查询,但对于一些要求比较准确的查询时(例如:微信公众号的关键字回复匹配查询)就需要用到MySQL的 find_in_set()函数;

以下是用find_in_set()函数写的sq查询l语句示例:

$keyword = '你好';

$sql = "select * from table_name where find_in_set('".$keyword"',msg_keyword) and msg_active = 1";

以下是在tp框架中使用find_in_set()函数的查询示例:

$keyword = '你好';

 $where = array(
'msg_active' => 1,
'_string' => "find_in_set('".$keyword."',msg_keyword)"
 );
 return $this->M('WechatResponseMsg')->where($where)->field('msg_content,msg_type')->find();

注意项:

1. 数据库中存的关键字要以英文“,”分隔;

2.存储数据要对分隔符进行处理,保证以英文“,”分隔关键字。

阅读全文
1 0
原创粉丝点击