2016-01-01 69 views
1

我很難找到我的問題的解決方案。我寫了一個應用程序,它以表單的形式請求地址,並通過PHP向MySQL數據庫發送請求。這是APP的代碼的摘錄:mysql查詢的錯誤訂單

HttpPost httppost = new HttpPost("http://www.mywebsite.com/subfolder/selectall.php?PLAT=latitude_home&PLONG=longitude_home"); 

正如你可以看到我發送到PHP頁面兩個參數:緯度和經度這是兩個double變量。

的PHP代碼如下:

$R_latitude = $_REQUEST['PLAT']; 
$R_longitude = $_REQUEST['PLONG']; 

$latitude = floatval($R_latitude); 
$longitude = floatval($R_longitude); 

$con = mysql_connect(server,database,password); 
if (!$con) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db("dbname", $con); 

$i=mysql_query("SELECT *,(((acos(sin((".$latitude."*pi()/180)) * sin((`Lat`*pi()/180))+cos((".$latitude."*pi()/180)) * cos((`Lat`*pi()/180)) * cos(((".$longitude."- `Lon`) * pi()/180))))*180/pi())*111.18957696) as distance FROM `Table` ORDER BY distance ASC LIMIT 10",$con); 

它應該我得到的結果,從興趣點的距離的順序,但我得到這個代碼是順序是錯的,而如果我使用經度和緯度的固定值,一切都很好:

// $latitude = floatval($R_latitude); 
// $longitude = floatval($R_longitude); 
$latitude = 45.4283585; 
$longitude = 10.9669789; 

這裏有什麼問題?有人能夠幫助嗎? 非常感謝,新年快樂!

+0

使用庫MySQLi不MySQL的。 – Script47

+1

請不要使用'mysql_'數據庫擴展,它已被棄用(一去不復返在PHP7) 特別是如果你剛開始學習PHP,花你的精力學習'PDO'或'mysqli_'數據庫擴展, [和這裏一些幫助,以決定使用](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) – RiggsFolly

+0

你有沒有嘗試在網址中插入一些固定值第一個代碼片段? –

回答

-1

對不起球員......我做了一個非常愚蠢的錯誤...而不是

`HttpPost httppost = new HttpPost("http://www.mywebsite.com/subfolder/selectall.php?PLAT=latitude_home&PLONG=longitude_home");` 

我應該做的:

`HttpPost httppost = new HttpPost("http://www.mywebsite.com/subfolder/selectall.php?PLAT="+latitude_home+"&PLONG="+longitude_home+"");`