php下如何将json格式的数据直接存入mysql数据库?
Jun 06, 2016 pm 08:50 PM
使用php json_encode
过,直接存入mysql报错,google一下 没有找到合适的解决方法,请问如何处理才能将json格式的数据存入mysql
代码:
$imgs_str = json_encode($imgs_array);
$imgs_str = addslashes($imgs_str);
$update_query = "update
articleset 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 = "update
articleset imageList = $imgs_str where id = $targetid";
json编码后的数据是这样的:
<code>{"key":"value"} </code>
那sql就是这样的:
insert into `table` (`field`) values ("{"key":"value"}")
所以就出错了
完整代码:
<code>$data = json_encode($array); // 过滤 $data = addslashes($data); // 入库 $db->insert($table_name,array( 'field' => $data, )); </code>
输入有点不对题,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) 后直接入库?

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤
