If your "Check Engine" or "Service Engine Soon" light is on, you need to have that checked out first.
If not, the next thing you should check is your engine coolant level. (Antifreeze) If the coolant level is low, the engine coolant does not circulate through the heater core and the the heater doesn't work. The coolant level could be low for a number of reasons including a leaky hose, water pump, or head gasket. In any case, if it is found to be low, you need to find out why.
If the coolant level is OK then the
thermostat function needs to be checked to make sure that the engine is reaching operating temperature.
If all of the above checks out OK, then the heater control valve and/or the blend air door in the HVAC housing needs to be checked for proper operation. (NOTE: some cars are not equipped with a heater control valve)