我想访问json数组中的每个值,并使用php将这些数据存储在MySQL数据库中:
{
"api": {
"results": 16,"statistics": {
"Shots on goal": {
"home": "5","away": "2"
},"Shots off goal": {
"home": "7","away": "4"
},.....
"Passes %": {
"home": "91%","away": "88%"
}
}
}
}
我正在使用php,我尝试了不同的解决方案json_decode($ result,true)和{'Shots on goal'},但这显示了错误,并且有些例行程序给出了所有我想单独访问所有值的值
首先,兄弟,非常感谢,这是我完整的文章,请向我提出建议。{
“ api”:{
“结果”:16
“统计信息”:{
“射门得分”:{
“ home”:“ 5”,
“ away”:“ 2”
},
“射门得分”:{
“ home”:“ 7”,
“ away”:“ 4”
},
“总射击”:{
“ home”:“ 17”,
“ away”:“ 8”
},
“盖帽”:{
“ home”:“ 5”,
“ away”:“ 2”
},
“射击收件箱”:{
“ home”:“ 12”,
“ away”:“ 5”
},
“射击外箱”:{
“ home”:“ 5”,
“ away”:“ 3”
},
“犯规”:{
“ home”:“ 15”,
“ away”:“ 14”
},
“角落踢”:{
“ home”:“ 9”,
“ away”:“ 1”
},
“越位”:{
“ home”:“ 2”,
“ away”:“ 2”
},
“持球”:{
“ home”:“ 61%”,
“ away”:“ 39%”
},
“黄卡”:{
“ home”:“ 2”,
“ away”:“ 3”
},
“红牌”:{
“ home”:“”,
“ away”:“”
},
“守门员节省”:{
“首页1”,
“ away”:“ 4”
},
“总通行证”:{
“ home”:“ 633”,
“ away”:“ 414”
},
“通过准确”:{
“ home”:“ 575”,
“ away”:“ 365”
},
“通过%”:{
“ home”:“ 91%”,
“离开”:“ 88%”
}
}
}
}
这是我完整的数组
它将进行插入查询,它将起作用,我苦苦挣扎。
$va = '{
"api": {
"results": 16,"statistics": {
"Shots on Goal": {
"home": "5","away": "2"
},"Shots off Goal": {
"home": "7","away": "4"
},"Passes %": {
"home": "91%","away": "88%"
}
}
}
}';
$data = json_decode($va);
$sqlinsert = "INSERT INTO TABLE_NAME (column1,column2,column3)";
$insert_value='';
foreach($data->api->statistics as $value){
$insert_value.="('".$value->home."','".$value->away."','".$data->api->results."'),";
}
$final_insert_query = rtrim($insert_value,',');
$sqlinsert.='VALUES'.$final_insert_query;
echo $sqlinsert;
插入INTO Fixture_statistics(id
,fixture_id
,Shots_on_Goal_home
,Shots_on_Goal_away
,Shots_of_Goal_home
,Shots_of_Goal_away
,Total_Shots_home
,{ {1}},Total_Shots_away
,Blocked_Shots_home
,Blocked_Shots_away
,Shots_insidebox_home
,Shots_insidebox_away
,Shots_outsidebox_home
,Shots_outsidebox_away
,{{1 }},Fouls_home
,Fouls_away
,Corner_Kicks_home
,Corner_Kicks_away
,Offsides_home
,Offsides_away
,Ball_Possession_home
,Ball_Possession_away
,Yellow_Cards_home
,Yellow_Cards_away
,Red_Cards_home
,Red_Cards_away
,Goalkeeper_Saves_home
,Goalkeeper_Saves_away
,Total_passes_home
,Total_passes_away
,{ {1}},Passes_accurate_home
,Passes _accurate_away
)VALUES(0',3','5','2019-11-11 11:13:48'),(0',6', '3','2019-11-11 11:13:48'),(0',13','9','2019-11-11 11:13:48'),(0',4', '1','2019-11-11 11:13:48'),(0',9','5','2019-11-11 11:13:48'),(0',4', '4','2019-11-11 11:13:48'),(0',20','19','2019-11-11 11:13:48'),(0',6', '4','2019-11-11 11:13:48'),(0',5','1','2019-11-11 11:13:48'),(0',56%' ,'44%','2019-11-11 11:13:48'),(0',0','1','2019-11-11 11:13:48'),(0',0 ','0','2019-11-11 11:13:48'),(0',3','3','2019-11-11 11:13:48'),(0',413 ','316','2019-11-11 11:13:48'),(0',265','176','2019-11-11 11:13:48'),(0',64 %','56%','2019-11-11 11:13:48'
,
$va = '{ "api": { "results": 16,"statistics": {
"Shots on Goal":
{ "home": "5","away": "2" },"Shots off Goal":
{ "home": "7","away": "4" },"Total Shots": { "home": "17","away": "8" },"Blocked Shots": { "home": "5","Shots insidebox": { "home": "12","away": "5" },"Shots outsidebox": { "home": "5","away": "3" },"Fouls": { "home": "15","away": "14" },"Corner Kicks": { "home": "9","away": "1" },"Offsides": { "home": "2","Ball Possession": { "home": "61%","away": "39%" },"Yellow Cards": { "home": "2","Red Cards": { "home": "","away": "" },"Goalkeeper Saves": { "home": "1","Total passes": { "home": "633","away": "414" },"Passes accurate": { "home": "575","away": "365" },"Passes %": { "home": "91%","away": "88%" } } } } ';
$data = json_decode($va);
$sqlinsert = "INSERT INTO fixture_statistics (Shots_on_Goal_home,Shots_on_Goal_away,Shots_of_Goal_home,Shots_of_Goal_away,Total_Shots_home,Total_Shots_away,Blocked_Shots_home,Blocked_Shots_away,Shots_insidebox_home,Shots_insidebox_away,Shots_outsidebox_home,Shots_outsidebox_away,Fouls_home,Fouls_away,Corner_Kicks_home,Corner_Kicks_away,Offsides_home,Offsides_away,Ball_Possession_home,Ball_Possession_away,Yellow_Cards_home,Yellow_Cards_away,Red_Cards_home,Red_Cards_away,Goalkeeper_Saves_home,Goalkeeper_Saves_away,Total_passes_away,Passes_percentage_away)";
$insert_value='';
foreach($data->api->statistics as $key=> $value){
if($key == 'Shots on Goal'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Total Shots'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Blocked Shots'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Shots insidebox'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Shots outsidebox'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Fouls'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Corner Kicks'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Offsides'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Ball Possession'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Yellow Cards'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Red Cards'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Goalkeeper Saves'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Total passes'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Passes accurate'){
$insert_value.="'".$value->home."',";
}
elseif($key == 'Passes %'){
$insert_value.="'".$value->home."',";
}
}
$final_insert_query = rtrim($insert_value,');
$sqlinsert.='VALUES('.$final_insert_query.")";
echo $sqlinsert;
它将为您的表生成此查询。
INSERT INTO fixture_statistics (Shots_on_Goal_home,Passes_percentage_away)VALUES('5','2','17','8','5','12','3','15','14','9','1','61%','39%','','4','633','414','575','365','91%','88%')