pourquoi vous utilisez HAVING ... en raison du fait que votre requête n'utilise pas de fonction agrégée afin que vous puissiez filtrer où (mais où ne pas utiliser, vous devez répéter le code) et pour les performances en utilisant où éviter une analyse complète pour reaise le résultat pour avoir une évaluation
$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");