我需要帮助解析json数据到mysql。我的代码不工作,这是我的代码。从json api到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 说明:未定义指数:cityid在C:\ XAMPP \ htdocs中\ JSON \ jsontosql.php上线22 说明:用C STATEID::未定义指数\ XAMPP \第23行的htdocs \ json \ jsontosql.php 注意:未定义的索引:在C:\ xampp \ htdocs \ json \ jsontosql.php中的cityname在第24行 注意:未定义索引:statename在C:\ xampp \ htdocs \ json \ jsontosql.php 25行 4表'json.city'不存在
tq寻求帮助。
我不完全得到什么是怎么回事。错误来自这样一个事实,即[源数据](http://demo.miliarta.com/cityapi/all/?dealerid=TEN000005&user=dealer&passwd=dealer&cityid=316)的根元素是一个数组,而不是一个对象,所以它没有索引'cityid'或'stateid'或'cityname'或'statename'。之后,循环的意图超出了我的想象。如果代码被更深入地解释了,也许它会有所帮助? – Matchu 2012-07-24 03:15:51