php - 如何在mysql表中存储json字符串

标签 php mysql json

在 mysql 表中存储 json 字符串时遇到小问题。 字符串例如:

'{"variable":"content here with \" addsleshes "}' 

使用 json_encode 创建。 使用简单的 mysqli_query 函数将此字符串存储在数据库中。

mysqli_query('insert into ... values \'{"variable":"content here with \" addsleshes "}\' ');

在此之后:

  mysqli_query('select *..');
 mysqli_fetch_array($res);

当我从 Mysql 获取此字段并尝试使用 php json_decode 时,它​​将返回 NULL,因为我在 "之前不再有斜线。不能使用 addslashes 函数,因为它会像\"variable\"一样添加斜线。 不确定如何解决这个问题?

最佳答案

你为什么不试试反过来呢。

在实际将 JSON 传递给 mysqli_query 之前使用 mysqli_escape_string

$json = '["Json","Just a Sample Data","Data 2"]'
mysqli_query('insert into ... values'.mysqli_escape_string($json));

现在,当您从数据库中检索数据时

mysqli_query('select *..');
mysqli_fetch_array($res);

使用 stripslashes($str) 从 JSON 中删除斜杠。

它的工作方式与您正在寻找的方式相同。

关于php - 如何在mysql表中存储json字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24538384/

相关文章:

java - 从mysql读取数据时如何在java中拆分 "\n"?

python - 从 JSON 中获取特定数据

android - 改造 2 : send files with json object

php - 我如何预匹配希伯来语中的单词

PHP foreach : splitting the loop into two parts

php - uksort 帮助 - 在单个需要帮助中使用 GROUP BY

php - 提高mysql中的查询性能

javascript - 泰语 JSON 解码无法正常工作

MySQL服务器版本更新时语法问题

java - 以下 json 的 java 中的 JsonPath 是什么