这是我的PHP代码,用于将“country.json”文件中的json数据保存到mysql表中。
<?php
$host="localhost";
$user="root";
$pass="";
$db="jsondb";
$connect= new mysqli($host,$user,$pass,$db) or die("ERROR:could not connect to the database!!!");
$fo=fopen("country.json","r");
$fr=fread($fo,filesize("country.json"));
$array=json_decode($fr,true);
//To display all values from JSON file
//print_r($array);
$query="insert into country values('$array[name]','$array[code]')";
$connect->query($query);
echo "Data Imported Sucessfully from JSON!";
?>
json文件有超过100个这样的主题: [{ “名字”:“阿富汗”, “代码”:“AF” },{ “名字”:“Ã...陆地群岛”, “代码”:“AX” },{ “名字”:“阿尔巴尼亚”, “代码”:“AL” }
但是,在浏览器localhost中运行此脚本后,它会出错:
注意:未定义的索引:第17行的C:\ xampp \ htdocs \ Suraj_Assignment_8 \ Suraj_Assignment_8.php中的名称
注意:未定义的索引:第17行的C:\ xampp \ htdocs \ Suraj_Assignment_8 \ Suraj_Assignment_8.php中的代码 数据从JSON成功导入!
我该如何解决?
答案 0 :(得分:0)
您需要遍历$array
变化:
$query="insert into country values('$array[name]','$array[code]')";
为:
foreach ($array as $value){
$query="insert into country values('".$value['name']."','".$value[code]."')";
$connect->query($query);
}
答案 1 :(得分:0)
你可以试试这个:
$query="insert into country values('".$array['name']."','".$array['code']."')";
答案 2 :(得分:0)
将此代码更改为
$query="insert into country values('".$array['name']."','".$array['code']."')";
键应该在引号中。所以你可以在这里做,或者你也可以转义序列
$query="insert into country values('$array[\"name\"]','$array[\"code\"]')";