This example I took from here. In my case I will display markers that are in distance of 25 kilometers from Longitude = 7 and Latitude = 50.
SELECT id, Longitude, Latitude, ( 3959 * acos( cos( RADIANS(50) ) * cos( radians( Latitude ) ) * cos( radians( Longitude ) - radians(7) ) + sin( RADIANS(50) ) * sin( radians( Latitude ) ) ) ) AS distance FROM gpslocation HAVING distance < 25 ORDER BY DISTANCE LIMIT 0 , 20;

Notice that number 50 is twice mentioned in query.

If you can't connect to MySQL over PHP from your localhost, then try something like:


In the Windows/System32/drivers/etc/hosts file remove the entry like this: 
::1             localhost 


and make sure you still have: 
127.0.0.1       localhost


Taken from here.

Question is, how to get count records in union query?

For example, we have this query:

select count(*) from hdxbh_content
union all
select count(*) from jos_users

As a result, we will have two records:

 

count(*)
904 
1 


And we want to get result as one record, 905, how?

Like this:

select ((select count(*) from hdxbh_content) + (select count(*) from jos_users)) count

Taken from here.