文档章节

php查询mysql中的json编码后的字符串内容的方法

jroam
 jroam
发布于 2017/04/09 15:15
字数 289
阅读 56
收藏 0
点赞 0
评论 0

问题

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

解决方式:

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

  对关键字进行unicode编码
  @param  string $keyword  要编码的字符串关键字
  @return string         str

 function unicode_encode($keyword=""){
   if($keyword=="") return "";
   $bb=json_encode(array($keyword));
   return preg_replace("/^\[\"|\"\]$/","",$bb);
}



 对关键字进行unicode解码
 @param  string $keyword   unicode编码后的字符串
 @return string           str

 function unicode_decode($keyword=""){
   if($keyword=="") return "";
   $keyword="[\"".$keyword."\"]";
   $aa=json_decode($keyword,true);
   return $aa[0];
}

  1. 对转化成unicode后的字符串,替换为4个反斜杠.
$keyword=preg_replace("/\\/","\\\\","\u5a74\u513f");
  1. 用最后得到的keyword去mysql数据库里like查询或其它查询就可以得到预期的结果了。

© 著作权归作者所有

共有 人打赏支持
jroam
粉丝 0
博文 5
码字总数 1957
作品 0
成都
架构师
数据库记录转换成json格式

<?php / 1.在company数据user表中取出10条数据,保存为数组 2.在将数组转化为json格式,传递给js 3.用json解析器将传递过来的json字符串转化为json对象, 4.用document.write输出语句打印在页...

zyt_1978
2016/06/11
29
0
robbe+base64+Mysql简易有效的php全文索引实现

确实有很多方法来给php提供全文索引功能。 例如: 1。solr或者lucene,(需要安装对应的php客户端扩展)。 2。sphinx 3。基于任何一个数据库(key/value的最好)的模拟实现。 4。Mysql的全文索...

狮子的魂
2013/03/01
0
2
PHP编程中10个最常见的错误

错误1:foreach循环后留下悬挂指针 在foreach循环中,如果我们需要更改迭代的元素或是为了提高效率,运用引用是一个好办法: $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value...

荔枝壳
2014/08/01
283
1
为您的 web 项目构建一个简单的 JSON 控制器

无论您的项目使用的是哪种数据库后端,JavaScript Object Notation (JSON) 控制器都能简化您的开发工作。本文将带领您建立一个能够增强您的下一个开发项目的非常基础的 JSON 控制器。 您的下...

IBMdW
2011/06/21
341
1
PHP编程问题集锦

1. Win32下apache2用get方法传递中文参数会出错 test.php?a=你好&b=你也好 传递参数是会导致一个内部错误 解决办法:"test.php?a=".urlencode(你好)."&b=".urlencode(你也好) 2. win32下的ses...

晨曦之光
2012/03/09
46
0
PHP用COOKIE实现一套SESSION机制

PHP的 SESSION是根据访客浏览器传过来的SESSION ID(表现为一个COOKIE) 来找到服务器的会话文件(/tmp/SESSID),以便通过$SESSION数组读取里面的内容(会话变量). 利用PHP的SESSION可以很方便地实...

eechen
2015/04/15
0
3
PHP json_encode() 函数详解及中文乱码问题

在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。 这个函数的功能是将数值转换成json数据存储格式。 ? 1 2 3 4 5 6 7 8 9 程序运...

zyt_1978
2016/06/19
31
0
PHP 易混淆知识点的实用指南(下)

原文链接:http://phpbestpractices.justjavac.com/ 净化 HTML 输入和输出 对于简单的数据净化,使用 htmlentities() 函数, 复杂的数据净化则使用 HTML Purifier 库 经 HTML Purifier 4.4.0 ...

eapxuo
02/23
0
0
PHP json_encode() 函数介绍

PHP json_encode() 函数介绍 2010-03-28 在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。 这个函数的功能是将数值转换成json数...

冯京宝
2012/07/12
0
0
PHP 笔试 + 面试题

本章主要介绍常见的 PHP 笔试 + 面试题,包括: 基础及程序题 数据库技术题 综合技术题 项目及设计题 基础及程序题 [1] 写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一维...

牛奶芝麻
2017/05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

sleep与wait的区别

Thread.sleep(XXX)方法消耗CPU吗? 这个知识点是我之前认识一直有错误的一个知识点,在我以前的认识里面,我一直认为Thread.sleep(1000)的这一秒钟的时间内,线程的休眠是一直占用着CPU的时间...

码代码的小司机
10分钟前
0
0
20位活跃在Github上的国内技术大牛 leij 何小鹏 亚信

本文列举了20位在Github上非常活跃的国内大牛,看看其中是不是很多熟悉的面孔? 1. lifesinger(玉伯) Github主页: https://github.com/lifesinger 微博:@ 玉伯也叫射雕 玉伯(王保平),...

海博1600
14分钟前
0
0
Mybatis收集配置

一、Mybatis取Clob数据 1、Mapper.xml配置 <resultMap type="com.test.User" id="user"> <result column="id" property="id"/> <result column="json_data" property="jsonData" ......

星痕2018
40分钟前
0
0
centos7设置以多用户模式启动

1、旧版本linux系统修改inittab文件,在新版本执行vi /etc/inittab 会有以下提示 # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON......

haha360
今天
0
0
OSChina 周日乱弹 —— 局长:怕你不爱我

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ andonny :分享周二珂的单曲《孤独她呀》 《孤独她呀》- 周二珂 手机党少年们想听歌,请使劲儿戳(这里) @孤星闵月 :没事干,看一遍红楼梦...

小小编辑
今天
192
9
Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模式 Template模板模式 Spring5 beans 接口实例化 代理Bean操作 ...

小致dad
今天
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
11
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
17
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
254
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部