0

我有一个网站,直到最近才正常运行。谷歌地图 api 改变了经度/纬度,所以我更新到新的。但是,现在我得到了不断的 mysql 查询错误。我起初认为我获取的 lon/lat 不正确,所以强制使用这些值,但我仍然收到错误

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的 '*PI()/180) ) ) , 1) AS distance, ' 附近使用正确的语法

长是 56.562016,纬度是 -2.580324 查询如下。

        $earthRadius = '3963.0'; // In miles

        $sql = "
            SELECT
                ROUND(
                    $earthRadius * ACOS(
                        SIN( $latitude*PI()/180 ) * SIN( latitude*PI()/180 )
                        + COS( $latitude*PI()/180 ) * COS( latitude*PI()/180 )  *  COS( (longitude*PI()/180) - ($longitude*PI()/180) )   )
                , 1)
                AS distance,
                id,
                name,
                description,
                latitude,
                longitude
            FROM
                child
            ORDER BY
                distance ASC
            LIMIT 0, 1";
4

1 回答 1

0

mysql-error 表示变量$longitude为空。

检查值并确保它们已设置。错误处理甚至适用于 php。:)

于 2013-09-20T10:30:36.287 回答