我发现最近的位置(与谷歌API长/ LAT)与结肠在我的SQL数据库/ LAT半径区域,这里是我的查询:PHP - MySQL的查询问题
$query = "SELECT id, (3959 * acos(cos(radians(".$lat.")) * cos(radians(lat)) * cos(radians(lon) - radians(".$long.")) + sin(radians(".$lat.")) * sin(radians(lat)))) AS distance FROM finder_location HAVING distance < 25 ORDER BY distance LIMIT 0 , 1";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
echo $row['id'];
查询里面是正确phpMyAdmin的回归为:
id 9
distance 0.74066713768542
因此,查询正确编译...
但是,当我试图在PHP中输出,我得到这些错误:
您的SQL语法错误; 查看与您的MySQL服务器版本 相对应的手册 正确的语法使用附近'>)* cos( 弧度(lat))* cos(弧度(lon) - 弧度(-73.988307))'at第1个警告:mysql_fetch_array():提供 参数不是一个有效的MySQL结果 资源
您需要查看PHP中最终生成的查询('echo $ query;')。你的一些变量似乎是空的。 – 2011-04-10 10:35:50
可能$ LAT变量包含无效值,检查它 – 2011-04-10 10:37:07