【PHP】 将一个json 以字符串的形式储存到mysql数据中 转译字符"\"

北城以北 提交于 2019-12-03 10:18:58

1.大家知道json的格式是这样的:

{"app":"1.0","system":"iPhone OS 9.3.2","model":"iPhone 5s (A1457/A1518/A1528/A1530)"} 

但 如果你想要查询出来的结果是这样json

    {
        device_info: "{"app":"1.0","system":"iPhone OS 9.3.2","model":"iPhone 5s (A1457/A1518/A1528/A1530)"}",
        phone: "132****2230",
        com_time: "2016-07-04"
    }

2.那么你的原始的json在插入数据库的时候就得加工成这样:

{\"app\":\"1.0\",\"system\":\"iPhone OS 9.3.2\",\"model\":\"iPhone 5s (A1457/A1518/A1528/A1530)\"}

3.加工代码如下:


		public function Updata_Device_Info($user_id,$device){
			$json=json_encode($device);//编码成json字符串
			$json=(string)str_replace('"', '\\\\"', $json);//将插入2个\到字符串。组成sql语句,因为sql中将\视为转译字符 所以是两个
			return $this->db->query("UPDATE `user` SET `device_info`='".$json."' WHERE (`user_id`='$user_id')");
		}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!