簡體   English   中英

將解析后的 json 數據插入 MySQL 表

[英]Insert parsed json data into MySQL table

我已經解析了多維數組。 我需要做的最后一件事:將數據插入 mysql 表,另一件事我想知道如何將多維數組實際插入表中,我應該使用第二個 $sql 查詢和另一個表嗎? 在下面的例子中,我只使用了三個變量“id、main、icon”,當然需要打包所有這些。 感謝您的幫助。 謝謝

 $jsonIterator = new RecursiveIteratorIterator(
  new RecursiveArrayIterator(json_decode($data, TRUE)),
  RecursiveIteratorIterator::SELF_FIRST);
  foreach($jsonIterator as $key=>$value)
   { 
   $query = "INSERT INTO json1 (id, main, icon) VALUES (
     '".$key["coord"]."', 
     '".$key["lon"]."', 
     '".$key["lat"]."'); "; 
   if(is_array($value))
     { echo "$key:\n"; }
   else
     { echo "$key => $value\n"; } 
}

這是我的 json 文件

{
    "coord": {
        "lon": 22,
        "lat": 50.04
    },
    "weather": [{
        "id": 804,
        "main": "Clouds",
        "description": "overcast clouds",
        "icon": "04n"
    }],
    "base": "stations",
    "main": {
        "temp": 267.15,
        "pressure": 1007,
        "humidity": 79,
        "temp_min": 267.15,
        "temp_max": 267.15
    },
    "visibility": 10000,
    "wind": {
        "speed": 4.6,
        "deg": 50
    },
    "clouds": {
        "all": 90
    },
    "dt": 1548271800,
    "sys": {
        "type": 1,
        "id": 1711,
        "message": 0.0097,
        "country": "UK",
        "sunrise": 1548224204,
        "sunset": 1548256302
    },
    "id": 759734,
    "name": "London",
    "cod": 200
}

你似乎做得比它需要的要困難得多。 那個 JSON 文件中沒有數組,它只是一個對象,所以沒有什么可以迭代的。 您也不需要遞歸迭代器。

$array = json_decode($data, true);
$id = $array['id'];
$lon = $array['coord']['lon'];
$lat = $array['coord']['lat'];
$query = "INSERT INTO json1 (id, main, icon) VALUES ($id, $lon, $lat)";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM