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 ."%' ";

        }

相關文章
相關標籤/搜索