尝试从long和lat获得距离时出现Mysql错误

时间:2012-09-12 19:28:11

标签: mysql latitude-longitude

基本上我有一个在经度和纬度设置的数据库。我已经尝试了几个小时来解决我与MySql的问题,我找不到我的错误。这是我得到的错误:

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在“经度”附近使用正确的语法。* PI()/ 180))* 180 / PI())* 60 * 1.1515)* 1.609344)AS距离'在线1

这是MySql数据库查询,用于获取long和lat的距离:

$res = mysql_query("SELECT *, (((ACOS(SIN(".$latitude." * PI() / 180) * SIN(latitude *
 PI() / 180) + COS(".$latitude." * PI() / 180) * COS(latitude * PI() / 180) * 
COS((".$longitude." – longitude) * PI() / 180))* 180 / PI()) * 60 * 1.1515)*1.609344) 
AS distance") or die(mysql_error());

请请帮助!!!

2 个答案:

答案 0 :(得分:1)

发生错误的减号符号似乎不是减号。也许您使用Word(或类似的“有用的”编辑器)来构造查询,它取代了减号的“智能”版本,如en-dash?

我用正确的减号替换了该字符,查询有效。

答案 1 :(得分:0)

我不确定你为什么要做SELECT *,并且你没有指定FROM条款。 从查询中删除*,或添加FROM以及从中获取数据的表。