直接使用php函数 json_encode ,数据存入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));