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

时间:2014-07-02 18:24:12

标签: php mysql json

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

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

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

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

之后:

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

当我从Mysql获取此字段并尝试使用php json_decode时,它将返回NULL,因为我在“。之前不再使用斜杠。”不能使用addslashes函数,因为它会添加斜杠,例如\“variable \”。 不知道如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

为什么不试着反过来呢。

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

$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中删除斜杠。

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

答案 1 :(得分:0)

尝试:

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