您好,欢迎访问一九零五行业门户网

php下如何将json格式的数据直接存入mysql数据库?

使用php json_encode 过,直接存入mysql报错,google一下 没有找到合适的解决方法,请问如何处理才能将json格式的数据存入mysql
代码:
$imgs_str = json_encode($imgs_array); $imgs_str = addslashes($imgs_str); $update_query = updatearticleset imagelist = $imgs_str where id = $targetid;
这个问题已被关闭,原因:
回复内容: 使用php json_encode 过,直接存入mysql报错,google一下 没有找到合适的解决方法,请问如何处理才能将json格式的数据存入mysql
代码:
$imgs_str = json_encode($imgs_array); $imgs_str = addslashes($imgs_str); $update_query = updatearticleset imagelist = $imgs_str where id = $targetid;
json编码后的数据是这样的:
{key:value}
那sql就是这样的:
insert into `table` (`field`) values ({key:value})
所以就出错了
完整代码:
$data = json_encode($array);// 过滤$data = addslashes($data);// 入库$db->insert($table_name,array( 'field' => $data,));
输入有点不对题,php 里的json也是用json_encode 来的(自己组合出来的当我没说哈),用 serialize 函数 吧。直接存数组好了。
php 有一个 serialize 序列化函数,这问题你应该查文档。
其实没有必要在mysql中存储json json这样的格式:{key:vlaue};在php 和 mysql 交互过程中很多余。
如:@cevin 所说,
$data = json_encode($array);// 过滤$data = addslashes($data);// 入库$db->insert($table_name,array( 'field' => $data,));
实际上已经做了一次无用功那就是 json_encode($data);何不直接 addslashes($data) 后直接入库?
其它类似信息

推荐信息