mysql模糊查詢表裏的json格式的數據-177

mysql裏查詢 json 數據


1.mysql裏有個字段存儲的是json格式的數據,

2.現在需要從頁面傳遞參數到php再進行搜索匹配關鍵字,

3.將關鍵字頁json_encode後,去like匹配這個字段,匹配不到


解決方案:

1.只針對中文搜索,存的數據一樣是json,josn裏面的中文一般是unicode編碼的,將關鍵字編碼一下.

2.在mysql裏,“\" 是需要轉義的。兩種解決辦法:

a)因此使用”\\”來查詢,數據依然是空。(mysql斜杆轉義之後,會去轉義別的字符,所有要得到斜杆,需要在加一個斜杆去轉義。)最後改爲四個斜杆“\\\\”,這樣纔得到一個“\”。



b)然後將\替換成_(下劃線)再去檢索就能查找出來。


php demo:

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

        if (!empty($payer)) {

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

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

        }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章