Heim > Backend-Entwicklung > PHP-Tutorial > php下如何将json格式的数据直接存入mysql数据库?

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

WBOY
Freigeben: 2016-06-06 20:50:13
Original
1313 Leute haben es durchsucht

使用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编码后的数据是这样的:

<code>{"key":"value"}
</code>
Nach dem Login kopieren

那sql就是这样的:

<code class="lang-sql">insert into `table` (`field`) values ("{"key":"value"}")
</code>
Nach dem Login kopieren

所以就出错了

完整代码:

<code>$data = json_encode($array);

// 过滤
$data = addslashes($data);

// 入库
$db->insert($table_name,array(
    'field' => $data,
));
</code>
Nach dem Login kopieren

输入有点不对题,PHP 里的JSON也是用json_encode 来的(自己组合出来的当我没说哈),用 serialize 函数 吧。直接存数组好了。

PHP 有一个 serialize 序列化函数,这问题你应该查文档。

其实没有必要在MYSQL中存储JSON JSON这样的格式:{"key":"vlaue"}; 在PHP 和 MYSQL 交互过程中很多余。

如:@cevin 所说,

<code class="lang-php">$data = json_encode($array);

// 过滤
$data = addslashes($data);

// 入库
$db->insert($table_name,array(
    'field' => $data,
));
</code>
Nach dem Login kopieren

实际上已经做了一次无用功那就是 json_encode($data); 何不直接 addslashes($data) 后直接入库?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage