Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我想在mysql服务器的xml文件中存储子节点_Php_Mysql_Sql_Xml_Google Maps - Fatal编程技术网

Php 我想在mysql服务器的xml文件中存储子节点

Php 我想在mysql服务器的xml文件中存储子节点,php,mysql,sql,xml,google-maps,Php,Mysql,Sql,Xml,Google Maps,我正在使用google maps api,我想在我的sql server中存储位置数据,我正在以xml文件获取数据,从下面的代码中,我可以存储以下数据(名称、位置id、可见性),但除了它之外,我还想存储(lat、lng) $url ="https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=22.722822,75.887055&radius=2000&type=pharmacy&keywo

我正在使用google maps api,我想在我的sql server中存储位置数据,我正在以xml文件获取数据,从下面的代码中,我可以存储以下数据(名称、位置id、可见性),但除了它之外,我还想存储(lat、lng)

$url ="https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=22.722822,75.887055&radius=2000&type=pharmacy&keyword=medical&key=*************************";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);

$data = curl_exec ($ch);
curl_close($ch);

$xml = simplexml_load_string($data);    foreach ($xml -> result as $row) {      
    $name = $row -> name;
    $place_id= $row -> place_id;
    $vicinity= $row -> vicinity;

    $sql = "INSERT INTO google_coordinate (name,address,place_id) VALUES ('$name','$vicinity','$place_id')";

    $result = mysql_query($sql);
    if(!$result){
        echo 'error';
    }else{
        echo "success";
    }
}

只需遵循如下数据结构

foreach ($xml->result as $row) {

    $name       = $row->name;
    $place_id   = $row->place_id;
    $vicinity   = $row->vicinity;
    $lat        = $row->geometry->location->lat;
    $lon        = $row->geometry->location->lon;

    $sql = "INSERT INTO google_coordinate 
                    (name,address,place_id,lat,lon) 
            VALUES ('$name','$vicinity','$place_id', '$lat', '$lon')";

    $result = mysql_query($sql);
    if(!$result){
        echo 'error';
    }else{
        echo "success";
    }
}
$lat = $row->geometry->location->lat;
$lng = $row->geometry->location->lng;

$sql = "INSERT INTO google_coordinate (name, address, lat, lng, place_id) VALUES ('$name', '$vicinity', '$lat', '$lng', '$place_id')";

可以这样做

foreach ($xml->result as $row) {

    $name       = $row->name;
    $place_id   = $row->place_id;
    $vicinity   = $row->vicinity;
    $lat        = $row->geometry->location->lat;
    $lon        = $row->geometry->location->lon;

    $sql = "INSERT INTO google_coordinate 
                    (name,address,place_id,lat,lon) 
            VALUES ('$name','$vicinity','$place_id', '$lat', '$lon')";

    $result = mysql_query($sql);
    if(!$result){
        echo 'error';
    }else{
        echo "success";
    }
}
$lat = $row->geometry->location->lat;
$lng = $row->geometry->location->lng;

$sql = "INSERT INTO google_coordinate (name, address, lat, lng, place_id) VALUES ('$name', '$vicinity', '$lat', '$lng', '$place_id')";

google maps API我还没有创建xml..我通过搜索地点id从google maps places获得它…请参考下面的链接