2012-09-12 30 views
4

基本上我有一个在经度和纬度设置的数据库。我一直在尝试几个小时来解决我在MySql中遇到的问题,并且找不到我的错误。这里是我得到的错误:试图从long和lat获得距离时发生Mysql错误

你的SQL语法错误;检查对应于您的MySQL服务器版本的手册,以在'€“经度附近使用正确的语法)* PI()/ 180))* 180/PI())* 60 * 1.1515)* 1.609344) 1

这里是MySql数据库查询,从长期和纬度获得的距离:

$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()); 

请请请帮助!

+0

打印出$ res(替换后)并查看该部分的查询。 –

回答

0

我不确定你为什么在做SELECT *,而你没有指定FROM子句。 从查询中删除*,或添加FROM和您从中获取数据的表。

+0

COS((“。$ longitude。” - longitude)* PI() – liveandream

+0

我想从表中的纵向中减去我的var $ longitude .....我看不到这是一个字符串 – liveandream

+0

你在哪里指定表格? –

1

发生错误的减号字符看起来不是负号。也许你使用Word(或类似的“有用的”编辑器)来构造查询,并用一个减号的“智能”版本代替,就像一个连字符?

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