牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2017-06-26 投稿人: 浏览次数:170

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

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。