mysql ошибка выбора координат - PullRequest
0 голосов
/ 03 февраля 2012

Я пытаюсь получить ближайшие координаты из mqysql, но получаю ошибку в синтаксисе!

$ широта = широта; $ 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"

ошибка:

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

Все комментарии приветствуются

Ответы [ 3 ]

1 голос
/ 03 февраля 2012

Отсутствует закрывающая скобка после последней части формулы

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 голосов
/ 03 февраля 2012

* используйте это для ближайшего расстояния <25 *</em>

SELECT id, (3959 * acos (cos (радианы (37)) * cos (радианы (широта)) * cos (радианы (lng) - радианы (-122)) + sin (радианы (37)) * sin (радианы (широты))) AS расстояние от маркеров расстояние HAVING <25 ORDER BY distance LIMIT 0, 20; </p>

0 голосов
/ 03 февраля 2012

Вам не хватает закрывающей скобки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...