Я искал stackoverflow и получил ответ на свой вопрос, но когда я попытался реализовать его с моим кодом, я получил странные ошибки.Ошибка SQL для вычисления большого круга
вот код:
SELECT `zip_code`, (6371 * acos(cos(radians($latitude)) * cos(radians(`lat`)) * cos(radians(`long`) - radians($longitude)) + sin(radians($latitude)) * sin(radians(`lat`)))) AS `distance`
FROM `places`
HAVING `distance` < $within
ORDER BY `distance` ASC
LIMIT 10;
Я получаю следующее сообщение об ошибке:
Incorrect parameter count in the call to native function 'radians'
Я использую MySQL версии 5.1.44
Возможно ли иметь NULLS в полях. Я думаю, что значение null, переданное функции, может вернуть эту ошибку. – Sparky
Был ли запущен этот сценарий из сценария оболочки? Были ли значения '$ широты' и' $ longitude' заданы? –
да, им были присвоены значения, а значения NULL – Grigor