2012-02-03 2 views
0

mqysql에서 가장 가까운 좌표를 얻으려고하지만 구문에 오류가 있습니다!mysql은 좌표 오류를 선택합니다

$ lat = latitude; $ long = 경도;

"SELECT * FROM `b_location` WHERE round(lat,3) LIKE $lat 
AND round(long,2) LIKE $long order by acos(cos(radians($lat))*cos(radians(lat))*cos(radians(long)- 
radians($long))+sin(radians($lat))*sin(radians(lat)) LIMIT 0,1" 

오류 : 모든 코멘트

답변

1

SELECT * 
    FROM `b_location` 
WHERE round(lat,3) LIKE $lat 
    AND round(long,2) LIKE $long 
ORDER BY acos(cos(radians($lat)) * 
       cos(radians(lat)) * 
       cos(radians(long) - radians($long)) + 
       sin(radians($lat))*sin(radians(lat)) 
      ) LIMIT 0,1" 
+0

가끔은 그 작은 것들이 중요 :) – arjun

0

당신은 닫는 괄호

을 놓치고 공식의 마지막 부분 후에 브래킷을 닫는 누락을 환영

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0,1' at line 1 

0

* 사용이 가장 가까운 거리에 대한 25 * <

SELECT ID (3959 * ACOS (COS (라디안 (37)) * COS (라디안 (LAT)) * COS (라디안 (LNG) - 라디안 (-122)) + sin (라디안 (37)) * sin (라디안 (lat)))) AS 거리 마커가 멀리 떨어져있는 경우 < 25 ORDER BY distance LIMIT 0, 20;

관련 문제