mysql模糊查询表里的json格式的数据-177

mysql里查询 json 数据php


1.mysql里有个字段存储的是json格式的数据,mysql

2.如今须要从页面传递参数到php再进行搜索匹配关键字,sql

3.将关键字页json_encode后,去like匹配这个字段,匹配不到json


解决方案:ide

1.只针对中文搜索,存的数据同样是json,josn里面的中文通常是unicode编码的,将关键字编码一下.编码

2.在mysql里,“\" 是须要转义的。两种解决办法:spa

a)所以使用”\\”来查询,数据依然是空。(mysql斜杆转义以后,会去转义别的字符,全部要获得斜杆,须要在加一个斜杆去转义。)最后改成四个斜杆“\\\\”,这样才获得一个“\”。code



b)而后将\替换成_(下划线)再去检索就能查找出来。unicode


php demo:it

        $payer=trim(@$_POST['payer']);

        if (!empty($payer)) {

        $json_payer=str_replace("\\","_",json_encode($payer));

            $where .= " and extend_params like '%" . $json_payer ."%' ";

        }

相关文章
相关标签/搜索