入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

php将json格式的数据直接存入mysql数据库

创建时间:2016-06-30 投稿人: 浏览次数:7813

直接使用php函数 json_encode ,数据存入mysql时会报错:

Php代码  收藏代码
  1. $imgs_str = json_encode($imgs_array);  
  2. $imgs_str = addslashes($imgs_str);  
  3. $update_query = "updatearticleset imageList = $imgs_str where id = $targetid";  

 

解决方法

json编码后的数据是这样的:

Js代码  收藏代码
  1. {"key":"value"}  

 

那sql就是这样的:

Sql代码  收藏代码
  1. insert into `table` (`field`) values ("{"key":"value"}")  

 

PHP addslashes() 函数

在每个双引号(")前添加反斜杠:

定义和用法

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

  • 单引号(")
  • 双引号(")
  • 反斜杠()
  • NULL

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

注释:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

所以就出错了

完整代码:

Php代码  收藏代码
  1. $data = json_encode($array);  
  2.    
  3. // 过滤  
  4. $data = addslashes($data);  
  5.    
  6. // 插入数据库  
  7. $db->insert($table_name,array("field" => $data));  
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像