【问题标题】:Decode Json data Array and insert in to mysql解码 Json 数据数组并插入到 mysql
【发布时间】:2017-03-19 10:39:09
【问题描述】:

这个问题可能已经在这里问过了,但我试过搜索找不到它 我有如下 Json 数据

{"CityInfo":[{"CityCode":"5599","Name":"DRUSKININKAI"},{"CityCode":"2003","Name":"KAUNAS"},{"CityCode":"2573","Name":"KLAIPEDA"},{"CityCode":"1692","Name":"VILNIUS"}],"StartTime":"2016-11-05 07:20:34","EndTime":"2016-11-05 07:20:34"}

我尝试使用 php 提取这些并插入到 mysql db。但它不适合我,因为我是编码初学者,请帮助解决这个问题

下面我试过了

$jsondata = file_get_contents($jsonFile);
$data = json_decode($jsondata, true);
echo $data['Name'];
echo $data['CityCode'];
$db->save($data, "tableName"); // i found a php app to insert json to db

【问题讨论】:

  • 你能发布到目前为止你尝试过的东西吗?

标签: php mysql arrays json


【解决方案1】:

您的 php 代码中存在一些问题。代码$data = json_decode($jsondata, true); 确实将您的 json 数据转换为 PHP 数组。但是,如果您需要提取需要插入到表中的数据,那么您需要这样做

$array_data = $data['CityInfo'];

现在$array_data 包含需要插入到表中的数据数组。您可以继续

$db->save($array_data, "tableName");

或者您可以使用 PHP MySQLiforEach 循环手动插入每一行

$conn = new mysqli($servername, $username, $password, $dbname);

foreach ($array_data as $row) {
    $sql = "INSERT INTO cityinfo (CityCode, Name) VALUES ('" . $row["CityCode"] . "', '" . $row["Name"] . "')";
    $conn->query($sql);
}

完整示例

<?php

$jsonFile="CityInfo.json";
$jsondata = file_get_contents($jsonFile);
$data = json_decode($jsondata, true);

$array_data = $data['CityInfo'];

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "yourDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

foreach ($array_data as $row) {
    $sql = "INSERT INTO cityinfo (CityCode, Name) VALUES ('" . $row["CityCode"] . "', '" . $row["Name"] . "')";
    $conn->query($sql);
}

$conn->close();
?>

【讨论】:

  • 很好的解释基兰!谢谢
  • 很高兴知道:)
  • 如何将其更改为 SELECT 而不是 INSERT?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-18
  • 2013-11-14
  • 2013-02-10
  • 2014-04-26
  • 1970-01-01
  • 2017-09-28
相关资源
最近更新 更多