Simultaneously searching listings by attributes such as category, title, postcode
I HIGHLY suggest using PHP PDO with prepared statements ALONG with filtering each field for specific accepted characters. 

But to answer your question, your method above is no longer considered safe and can be exploited. 

PDO &amp; Tutorial:


http://php.net/manual/en/book.pdo.php  
http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/


You can use preg_match to filter for specific character sequences. 

Basic Regex Filter Example:   

if (preg_match('/^[0-9-]+$/', $_POST['postcode'])) 
{
    //POSTAL CODE IS GOOD TO GO
    //Filters for charaters "0-9" along with "-" for longer postal codes
}   
else 
{
    //REJECT
}