looks like your query needs some syntax help.
did you look in the documentation at www.mysql.com?
"SELECT *, MATCH (name,category,keywords,town,county) AGAINST ('$name') from details where MATCH (town,county) AGAINST ('$address')"
should be more like
"SELECT *, MATCH (name,category,keywords,town,county) AGAINST ('$name $address') as scores from details where MATCH (town,county) AGAINST ('$address')"
what exactly are you trying to do?
and why bother using fulltext search for this?