dlaczego używasz HAVING ... ze względu na fakt, że twoje zapytanie nie używa funkcji zagregowanej, dzięki czemu możesz filtrować za pomocą gdzie (ale gdzie nie używasz, musisz powtórzyć kod ) i dla wydajności za pomocą gdzie unikaj pełnego skanowania w celu ponownego podniesienia wynik oceny
$query = $mysqli->query("SELECT postcode, (
6371 * acos (
cos ( radians('$latitude') )
* cos( radians( lat ) )
* cos( radians( lng ) - radians('$longitude') )
+ sin ( radians('$latitude') )
* sin( radians( lat ) )
)
) AS distance
FROM postcodetabel
WHERE 6371 * acos (
cos ( radians('$latitude') )
* cos( radians( lat ) )
* cos( radians( lng ) - radians('$longitude') )
+ sin ( radians('$latitude') )
* sin( radians( lat ) ) )< 12
ORDER BY distance ASC");