[英]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.