我需要帮助将json数据解析为mysql。我的代码不起作用,这是我的代码。
<?php
$server = "localhost";
$username = "root";
$password = "12345";
$database = "json";
mysql_connect($server,$username,$password) or die("Failed");
mysql_select_db($database) or die("Database Failed");
$url = "http://demo.miliarta.com/cityapi/all/?dealerid=TEN000005&user=dealer&passwd=dealer&cityid=316";
$string = file_get_contents($url);
$arr = json_decode($string, true);
//array instances specific to json items
$id = $arr["cityid"];
$id2 = $arr["stateid"];
$id3 = $arr["cityname"];
$id4 = $arr["statename"];
$s=0;
//Enumerating Array index
foreach($arr as $item=> $value){
$s=count($value); // WIN
}
echo $s;
//suck the array for loop
for($i=0;$i<$s;$i++){
$cityid= $id[0];
$stateid = $id2[$i];
$cityname = $id3[$i];
$statename = $id4[0];
mysql_query("INSERT INTO city (cityid, stateid, cityname, statename) VALUES('$cityid', '$stateid', '$cityname', '$statename')") or die (mysql_error());
}
?>
问题在22号线上。注意:第22行C:''examplep''htdocs''json''jsontosql.php中的未定义索引:cityid注意:第23行C:''examplep''htdocs''json''jsontosql.php中的未定义索引:stateid注意:第24行C:''examplep''htdocs''json''jsontosql.php中的未定义索引:cityname注意:第25行C:''examplep''htdocs''json''jsontosql.php中的未定义索引:statename4表'json.city'不存在
tq寻求帮助。
为您修复了它。您的循环是错误的,您需要首先查看$arr
以获取每一行数据。
试试这个:
<?php
// Your database configs here
$url = "http://demo.miliarta.com/cityapi/all/?dealerid=TEN000005&user=dealer&passwd=dealer&cityid=316";
$string = file_get_contents($url);
$arr = json_decode($string, true);
foreach($arr as $item){
$cityid = $item['cityid'];
$stateid = $item['stateid'];
$cityname = $item['cityname'];
$statename = $item['statename'];
mysql_query("INSERT INTO city (cityid, stateid, cityname, statename) VALUES('$cityid', '$stateid', '$cityname', '$statename')") or die (mysql_error());
}