我在从PHP脚本运行的MYSQL查询中遇到问题。
在我的sql语句中,我需要过滤掉距离太远的所有用户:
SELECT
...
ROUND(ACOS(SIN(RADIANS($Lat)) *
SIN(RADIANS(s.Latitude)) +
COS(RADIANS($Lat)) *
COS(RADIANS(s.Latitude)) *
COS(RADIANS(s.Longitude) -
RADIANS($Lon))) * $unitKm, 2) AS "Distance"
...
HAVING "Distance" <= $Dis
现在,有一个距离为440.55公里的用户,但如果我将334作为“Dis”传递,则不会过滤。
333是可以的,但是当大于333时,HAVING子句不起作用。
我将 $ Dis 作为一个数字传递,然后通过:
从php获取$Dis = filter_input(INPUT_GET, 'Dis');
我怎么能解决这个问题?
答案 0 :(得分:1)
不是&#34;距离&#34;这是一个字符串;你需要在HAVING子句中使用backtics`Distance`。