有時我們需要查詢某個字段是否包含某值時,通常用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語句查詢數據表中的某字段包含某值就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。