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

这篇文章给大家分享的是有关如何使用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语句查询数据表中的某字段包含某值”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!