I have an error inside MySQL query but I can't figure out what is it
The Error is
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sin( radians(30.9006547) ) * sin( radians(lat itude) ) ) ,8) as distance FROM ' at line 3
Query is
SELECT h.*
, ROUND(1.609344 * 3956 * acos( cos( radians(30.9006547) ) * cos( radians(latitude) ) *
cos( radians(longitude) - radians(30.8524007) ) sin( radians(30.9006547) ) * sin( radians(latitude) ) ) ,8) as distance
FROM helper h
where is_available = 1
and is_active = 1
and is_approved = 1
and ROUND((1.609344 * 3956 * acos( cos( radians(30.9006547) ) * cos( radians(latitude) ) *
cos( radians(longitude) - radians(30.8524007) )sin( radians(30.9006547) ) * sin( radians(latitude) ) ) ) ,8) <= 60
order
by distance LIMIT 3;
in your code you missind the +
sign between cos() and sin()
SELECT h.*
, ROUND(1.609344 * 3956 * acos( cos( radians(30.9006547) ) * cos( radians(latitude) ) *
cos( radians(longitude) - radians(30.8524007) ) + /*<<<<<< here */
sin( radians(30.9006547) ) * sin( radians(latitude) ) ) ,8) as distance
FROM helper h
where is_available = 1
and is_active = 1
and is_approved = 1
and ROUND((1.609344 * 3956 * acos( cos( radians(30.9006547) ) * cos( radians(latitude) ) *
cos( radians(longitude) - radians(30.8524007) ) + /* <<<< and here */
sin( radians(30.9006547) ) * sin( radians(latitude) ) ) ) ,8) <= 60
order
by distance LIMIT 3;