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

有时我们需要查询某个字段是否包含某值时,通常用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.存储数据要对分隔符进行处理,保证以英文“,”分隔关键字。

以上这篇使用tp框架和SQL语句查询数据表中的某字段包含某值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。