Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

logudotcom's avatar

Calculate distance by miles not working

I have been following this thread and using the below query https://laracasts.com/discuss/channels/tips/search-with-location-radius

DB::select('SELECT * FROM (SELECT id, name, address, phone, latitude, longitude, (' . $circle_radius . ' * acos(cos(radians(' . $lat . ')) * cos(radians(latitude)) * cos(radians(longitude) - radians(' . $lng . ')) + sin(radians(' . $lat . ')) * sin(radians(latitude)))) AS distance FROM users) AS distances WHERE distance < ' . $max_distance . ' ORDER BY distance OFFSET 0 LIMIT 20; ');

Actual SQL query

SELECT * FROM (SELECT id,loc1, zipcode, latitude,longitude, (3959 * acos(cos(radians(36.0411)) * cos(radians(latitude)) * cos(radians(longitude) - radians(-115.2163)) + sin(radians(36.0411)) * sin(radians(latitude)))) AS distance FROM locations) AS distances WHERE DISTANCE < 20 ORDER BY distance

It is working fine in my local MySQL environment as it's a Mysql version (5.7.33)

My online hosting is not working and the online hosting MySQL details as Server type: MariaDB, Server version: 10.5.20-MariaDB-cll-lve-log - MariaDB Server

How can I fix this issue?

0 likes
1 reply

Please or to participate in this conversation.