调用本机函数'radians'时参数计数不正确

时间:2014-12-09 13:55:32

标签: php mysql

尝试使用查询来利用此查询从某个位置获取距离。我们已经在数据库中设置了距离/位置。这是查询:

$query = "SELECT *, ( 6371 * acos( cos( radians($lat) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians($lng) ) + sin( radians($lat) ) * sin( radians( lat ) ) ) ) AS distance 
FROM textloc HAVING distance < 20000 ORDER BY distance LIMIT 1;";

它在控制台内调用本机函数'radians'时不断返回'参数计数不正确“。显然我在这里做错了。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

我知道这是一个迟到的回复,但是对于所有面临这个问题的人来说:

这个错误意味着该函数缺少参数,换句话说,这意味着你要向mysql发送这样的东西

select radians();

这不是由NULL引起的,也不是由空值或缺少列引起的。在这种情况下,radians()将返回不同的结果:

select radians(NULL); #->returns NULL
select radians(''); #->returns 0
select radians(wrong_collumn); #->returns: Error Code: 1054. Unknown column 'wrong_collumn' in 'field list'

我希望这有助于:)