我尝试通过我的php服务器从TripTracker Android App将位置数据添加到mysql数据库。这在PHP但它仍然无法正常工作。请帮帮我。 使用for循环,它会在数据库中创建一个空行。 当我删除它时,它根本不起作用。
<?php
$json = $_GET['locations'];//get the post you sent...
//$data = $_GET['locations'];
$data = json_decode($json); //decode the json formatted string...
$data = array();
print_r($data);
echo ($data);
//foreach ($data as $x=>$loc){
$loctime = $data->time;
$latitude = $data->latitude;
$longitude = $data->longitude;
$con = mysql_connect("localhost","root","");
if (!$con)
die('Could not connect: ' . mysql_error());
mysql_select_db("gpscoordinates", $con);
$loctime = $_POST['time'];
$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
$sql = "INSERT INTO `gpscoordinates`.`locations`
(`id`, `loctime`, `latitude`, `longitude`)
VALUES (NULL, '$loctime', '$latitude', '$longitude')";
if (!mysql_query($sql,$con))
die('Error: ' . mysql_error());
mysql_close($con);
//}
//echo json_encode($variable);
?>
下面是一个工作的Rails等价物。
params[:locations].each do |x,loc|
l = Tripcoord.new
l.created_at = Time.at(loc[:time].to_i)
l.latitude = loc[:latitude]
l.longitude = loc[:longitude]
l.save!
end
答案 0 :(得分:0)
您可以设置$ _POST数组中的值:
$loctime = $_POST['time'];
$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
但你的数据来自$ _GET数组?
$json = $_GET['locations'];
我错过了什么,因为这显然不起作用。
更改
$_GET['locations'] to $_POST['locations']
(反之亦然,视情况而定)。更不用说了,
$data = array();
如果$ _POST中有任何内容,则会清空这些值。
我希望我不会完全误解......