ホームページ > バックエンド開発 > PHPチュートリアル > php下如何将json格式的数据直接存入mysql数据库?

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

WBOY
リリース: 2016-06-06 20:50:13
オリジナル
1312 人が閲覧しました

使用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>
ログイン後にコピー

那sql就是这样的:

<code class="lang-sql">insert into `table` (`field`) values ("{"key":"value"}")
</code>
ログイン後にコピー

所以就出错了

完整代码:

<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 所说,

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

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

// 入库
$db->insert($table_name,array(
    'field' => $data,
));
</code>
ログイン後にコピー

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート