袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

tp5查询关键词含有下划线_或星号*解决办法

浏览量:208

mysql中通配符有下划线_和星号*,如果实际需求中要把下划线_和星号*查询出来该怎么办呢?貌似tp官方没有提供特别的方法才处理此类问题,那就只能用蛮办法了

public function index($key = ''){

        if(strpos($key,'_')>-1){

            $key=str_replace('_', '\_',$key);

        } 

        if(strpos($key,'*')>-1){

            $key=str_replace('*', '\*',$key);

        } 

        $where = [

            ['content', 'like', "%$key%"],

];   

        $result = Db::table('article')->where($where)->select();

        return $this->fetch();

}

//如果查询"baby_",以上查询生成的sql形如:

select * from article where content like "baby\_"

看的出要是没有前面的反斜线,下划线_就会当通配符用了。
打赏