Try this -
SHOW FIELDS FROM `tablename` WHERE FIELD NOT IN ('f1','f2','f3');
Execute this query and fetch the specific field-names and put each field-name into an array.
then implode the array with ',' inside the select query.
$fields = implode(',',$fields_arr);
$sql = SELECT $fields FROM `tablename`;