如何在PHP代码中解决此错误

时间:2016-06-12 08:58:36

标签: php mysql json xampp

这是我的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成功导入!

我该如何解决?

3 个答案:

答案 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\"]')";