Php 将json导入mysql
我有这个json文件Php 将json导入mysql,php,mysql,json,Php,Mysql,Json,我有这个json文件 { "5927803e892d4c459f2992a3a1ac2ead.16": { "lat": 57.532696, "lng": 9.949331 }, "e25fe65e4fe4468db1361213ba1a376b.16": { "lat": 57.501783, "lng": 9.947415, "name": "Vidstrup Train Station
{
"5927803e892d4c459f2992a3a1ac2ead.16": {
"lat": 57.532696,
"lng": 9.949331
},
"e25fe65e4fe4468db1361213ba1a376b.16": {
"lat": 57.501783,
"lng": 9.947415,
"name": "Vidstrup Train Station",
"disabled": false
},
"dcd8b44bd0f3478cb2d99c8d5115ba50.16": {
"lat": 57.480323,
"lng": 9.968769,
"name": "Vellingshøj Station",
"disabled": false
}
}
我有一个工作的php文件导入它
但我也很想知道身份证
我的问题是在json文件中
没有像“id”这样的名称:
按如下方式更改代码
foreach($array as $id => $row)
{
$sql = "INSERT INTO location(id, location_lat, location_lng, location_name, location_mission) VALUES ('{$id}','".$row["lat"]."', '".$row["lng"]."','".$row["name"]."', '".$row["mission"]."')";
mysqli_query($connect, $sql);
}
echo "Data Inserted";
?>
当然,这比使用预先准备好的语句完全不安全(而且可能更慢)
你应该试试
$stmt = mysql_prepare($link, "INSERT INTO location(id, location_lat, location_lng, location_name, location_mission) VALUES(?,?,?,?)");
foreach($array as $id => $row)
{
mysqli_stmt_bind_param($stmt,"ssss", $id, $row["lat"], ....);
mysqli_stmt_execute($stmt);
}
按如下方式更改代码
foreach($array as $id => $row)
{
$sql = "INSERT INTO location(id, location_lat, location_lng, location_name, location_mission) VALUES ('{$id}','".$row["lat"]."', '".$row["lng"]."','".$row["name"]."', '".$row["mission"]."')";
mysqli_query($connect, $sql);
}
echo "Data Inserted";
?>
当然,这比使用预先准备好的语句完全不安全(而且可能更慢)
你应该试试
$stmt = mysql_prepare($link, "INSERT INTO location(id, location_lat, location_lng, location_name, location_mission) VALUES(?,?,?,?)");
foreach($array as $id => $row)
{
mysqli_stmt_bind_param($stmt,"ssss", $id, $row["lat"], ....);
mysqli_stmt_execute($stmt);
}
id是什么,您正在查找foreach($key=>$row的数组)
?您应该使用一个准备好的语句来避免sql注入。这是我从文件“5927803e892d4c459f2992a3a1ac2ead.16”“e25fe65e4fe4468db1361213ba1a376b.16”中想要的id:“dcd8b44bd0f3478cb2d99c8d5115ba50.16”:这只是我的sql中的一个非常重要的位置_id,您要找的是哪个id($array as$key=>$row)
?您应该使用一个准备好的语句来避免sql注入。这是我从文件“5927803e892d4c459f2992a3a1ac2ead.16”“e25fe65e4fe4468db1361213ba1a376b.16”中想要的id:“dcd8b44bd0f3478cb2d99c8d5115ba50.16”:这只是一个行时间导入,所以在我的sql中,我将有位置。\u idoh现在刚刚检查了完整的脚本,它现在只读取第一行,所以我现在只获取第一条记录。不,我的回答中没有任何内容导致整个文件不被读取或解码。这部分发生在原始代码中$data=file\u get\u contents($filename)$array=json_decode($data,true);
这应该被保留。他现在刚刚检查了完整的脚本,它现在只读取第一行,所以我现在只获取第一条记录。不,我的答案中没有任何东西会导致整个文件不被读取或解码。这部分发生在原始代码$data=file_get_内容中($filename);$array=json_decode($data,true);
这应该被保留