这个问题可能已经在这里问过,但我试过搜索找不到它
我有如下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代码有一些问题.代码$data = json_decode($jsondata,true);确实将您的json数据转换为PHP数组.但是,如果您需要提取需要插入表中的数据,那么您需要这样做
$array_data = $data['CityInfo'];
现在这个$array_data包含需要插入表中的数据数组.您可以继续
$db->save($array_data, "tableName");
或者您可以使用PHP MySQLi和forEach循环手动插入每一行
$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();
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。