0

最近まで問題なく稼働していた Web サイトがあります。経度/緯度を取得するGoogleマップAPIが変更されたため、新しいものに更新しました。ただし、現在、常に mysql クエリ エラーが発生します。最初は、経度/緯度のフェッチが正しくないと思ったので、値を強制しましたが、それでもエラーが発生します

SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。 Near '*PI()/180) ) ) , 1) AS distance, ' at line 5

long は 56.562016、lat は -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 に答える