zoukankan      html  css  js  c++  java
  • php查询mysql中的json编码后的字符串内容的方法

    问题

    1. mysql里存的是json编码后的字符串,其中中文会被转为unicode码,所以直接查询是查询不到的。
    2. mysql里的查询如 like "%u6211u662f%" 也是不会有结果的,原因是反斜线被mysql转义了, 需要如下的格式才能查询: like "%\\u6211\\u662f%" (四个反斜杠) 注意:mysql5.7版以后增加了直接对json格式的支持.

    解决方式:

    1.写php函数对要查询的字符串进行unicode编码(这里,我们利用了json_encode这个函数)

    $keyword = '出票';
    $bb=json_encode(array($keyword));
    $str = preg_replace("/^["|"]$/","",$bb);

    2.对转化成unicode后的字符串,替换为4个反斜杠.

    $keyword= str_replace("\","\\",$str);
    var_dump($keyword);

    3.查询

    $res = DB::table('wx_push_logs')->where('data','like',"%{$keyword}%")->first();
  • 相关阅读:
    遥远的国度(D12 树链剖分)
    Codechef DGCD Dynamic GCD(D12 树上GCD)
    html总结
    数据库大总结
    html笔记
    Linux常用快捷键
    进程
    多进程
    进程介绍
    网络并发
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/10345188.html
Copyright © 2011-2022 走看看