Php 调用本机函数“radians”时参数计数不正确

Php 调用本机函数“radians”时参数计数不正确,php,mysql,Php,Mysql,尝试使用查询来获取使用此查询到特定位置的距离。我们已经在db中设置了距离/位置。问题是: $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 d

尝试使用查询来获取使用此查询到特定位置的距离。我们已经在db中设置了距离/位置。问题是:

$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”的调用中不断返回“错误的参数计数”。很明显我做错了什么。有什么建议吗?

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

这个错误意味着函数缺少参数,换句话说,它意味着您正在向mysql发送类似的内容

select radians();
这不是由NULL、空值或缺少列引起的。在这种情况下,“弧度”将返回不同的结果:

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

我希望这能有所帮助:

您是否尝试过将php函数放在mysql查询字符串之外,比如。$variable。或.cos$变量。?在变量替换后打印出$查询。95%的情况下,答案是显而易见的。*cos radians lat应该是*cos radians$lat吗?@peter尝试过,但仍然没有成功。