作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 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/
我是一名优秀的程序员,十分优秀!