功能rad2deg不存在

时间:2018-09-28 11:17:16

标签: php mysqli

在我的脚本中,我尝试按与用户的距离过滤所选数据。为此,我使用以下查询,该查询将返回10公里半径内的每个帖子:

$query = "SELECT * FROM Table WHERE ((rad2deg(acos((sin(deg2rad($actlat))*sin(deg2rad(lat))) + (cos(deg2rad($actlat))*cos(deg2rad(lat))*cos(deg2rad($actlon-lon))))))*111.13384) < 10";

我现在面临的问题是我得到了以下错误消息:

Uncaught mysqli_sql_exception: FUNCTION database_name.rad2deg does not exist

所以我尝试了另一种方法,使函数按其应有的方式工作:

$test = rad2deg(x);
echo $test;

为什么我不能在查询中使用rad2deg函数?

1 个答案:

答案 0 :(得分:2)

您可以使用 degrees() mysql函数将弧度值转换为度数,并使用 radians()函数将度数转换为弧度:

function sumFor(pattern, data) {
  return data
    .filter(item => item.text.match(pattern))
    .reduce((accu, item) => accu + item.total, 0);
}
sumFor(/^Male/, data); // 125480
sumFor(/^Female/, data); // 154916