I'd like you to check what you get here
mysql_query ("INSERT INTO business_directory (company, address, phone, contact) VALUES ('$company', '$address', '$phone', '$contact')");
// when it's rewritten as:
$sql = "INSERT INTO business_directory (company, address, phone, contact) VALUES ('$company', '$address', '$phone', '$contact')";
echo "<br>$sql<br>";
mysql_query($sql);
does the query which is output look right?
do you need to addslashes()?
can you copy and paste into phpMyAdmin and run it ok?