欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-24 22:22:04
...
直接使用php函数 json_encode ,数据存入mysql时会报错:

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

  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代码 php将json格式的数据直接存入mysql数据库

  1. {"key":"value"}

那sql就是这样的:

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

  1. insert into `table` (`field`) values ("{"key":"value"}")

PHP addslashes() 函数

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

定义和用法

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

预定义字符是:

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

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

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

所以就出错了

完整代码:

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

  1. $data = json_encode($array);
  2. // 过滤
  3. $data = addslashes($data);
  4. // 插入数据库
  5. $db->insert($table_name,array('field' => $data));

以上就介绍了 php将json格式的数据直接存入mysql数据库,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。