繁体   English   中英

如何将此json数组保存到MYSQL数据库

[英]How to save this json array to MYSQL database

我想保存我的fb登录返回到数据库的这个json数组。 但是我真的不知道如何使用php将其转换为字符串。

[{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}]

我已经在下面尝试过此代码,但我什至不能完全确定fb登录返回的内容是否为json数组。

$json = '{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}';

var_dump(json_decode($json));

如何将不同的运动项目以字符串的形式保存到数据库中?

任何帮助将非常感激。

谢谢。

编辑:上部返回NULL。


第二编辑:

if (array_key_exists('sports', $me)){


                    $json = '$me['sports']'; PROBLEM IS HERE
                    $data = json_decode($json, true);
                    $sports = array();
                    foreach ($data as $item) {
                        $sports[] = $item['name'];
                    }

                    $user->fb_sports = $sports;
                }
$json = '[{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}]';
$data = json_decode($json, true);
$sports = array();
foreach ($data as $item) {
    $sports[] = $item['name'];
}

如果要用逗号分隔它们:

$output = implode(', ', $sports);

采用 :

 $json = serialize($json);

如果var_dump(json_decode($ json))返回您期望的结果,只需将$ json直接保存到数据库中。

$json1 = '{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}';
$json2 = '[{"id":"108124505876479","name":"Wakeboarding"},{"id":"112003352149145","name":"Bouldering"},{"id":"110008522357035","name":"Handball"}]';

var_dump(json_decode($json1,true));
var_dump(json_decode($json2,true));

注意区别

$string=mysql_real_escape_string($json);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM