location-search,基本的php-mysql错误?

I get this error:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/rydes235/public_html/search-test.php on line 34

when trying to query my database.

my query is:

    $query = mysql_query("SELECT postcode, ( 3959 * acos( cos( radians('$latitude') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('$longitude') ) + sin( radians('$latitude') ) * sin( radians( lat ) ) ) ) AS distance FROM uk_postcode_05 HAVING distance < 25 ORDER BY distance ASC LIMIT 0 , 5");

and im trying to display simply with:

    while($row = mysql_fetch_array($query)){
    $town = ($row['town']);
    $country = ($row['country']);
    echo ($town.','.$country.'<br>');
}

(line 34 is the mysql_fetch_array() line).

my mysql table has columns - postcode, town, country, longitude, latitude, region.

any one have any idea? let me know if you need more info, thanks

You need to ensure that mysql_query does not return an error before calling mysql_fetch_array()

$query = mysql_query("...");
if ($query == false) {
    echo "Mysql error '". mysql_errno() . "' : " . mysql_error();
} else {
    ...
}

You should also stop using mysql_*() functions as they are deprecated and take a look at MySQLi to protect your database against SQL injections.