I've literally seen this thread pop up at least 5 times in the past week, figured I'd post this thread once and point people here instead of posting over and over.
Several possibilities, starting with the most common/easiest to fix:
1. You have air bubbles in your cooling system
Sometimes accompanied by your temperature gauge reading hot randomly.
Solution: Bleed the cooling system. This is my method, I'm sure there's a more "official" method which RonJ has posted, you'll have to search for that. EDIT: Found it for you https://honda-tech.com/forums/honda-civic-del-sol-1992-2000-1/98-civic-ex-problem-my-heat-please-help-i-need-car-3006708/
A. When the car is cold, jack the front end up for best results. Remove the radiator cap, fill the radiator up with prediluted 50/50 coolant or mixture of your choice. I'd recommend against plain water.
B. Start the car with the cap off, turn the heater to hot and fan all the way up.
C. Watch as bubbles come out of the radiator, also squeeze the upper and lower radiator hose over and over, then do the same to the two heater hoses coming out of the firewall from the heater core.
D. Add coolant as needed to keep the radiator full
E. After the car is completely warmed up, shut it off. Fill the overflow tank to the line and put the radiator cap back on. You're done! See if your heater works now.
2. Your thermostat is stuck
This is a very common cause of your problem. When your car is warmed up, feel the lower radiator hose. It should be warm/hot, not cold. Sometimes the car overheats when going uphill - another sign of a bad thermostat.
Solution: Replace the thermostat
*Remove the negative cable from your battery and take off the intake*
A. Drain the coolant into a bucket, animals like to drink it and it kills them, so don't just drain it on the street
. There should be a drain plug on the bottom of your radiator. Location varies between models.
B. Locate the lower radiator hose going to the thermostat. Take the clamp off and slide the hose off.
C. Using a 10mm wrench/socket, take off the ground on the housing, followed by the two bolts.
D. remove the cover, there's your thermostat! Make note of how the seal is arranged on your old one before transferring it to your new one. *I removed the upper radiator hose at this time and used a garden hose to flush the block and radiator*
E. Installation is the opposite of removal. Remember to put the negative cable back on. Follow above guide for bleeding your cooling system.
3. Your heater valve/cable is broken/stuck
The valve is located by the firewall on the passenger side. You should see a cable going to it coming out from the firewall. Turn the heat setting to cold, make a mental note of the position of the cable. Turn the heat to hot and look again. If it didn't change positions then it's probably something on the climate control end. Does the temperature **** feel like it's really hard to move? That would be an indication of this problem.
Solution: Replace the valve/fix the cable as needed.
4. Your heater core is plugged
Solution: You're going to have to replace it, or try flushing it out. I've never done this, but from what I've read you have to remove the dash to replace the heater core. To flush it, there's a video in this thread that shows you how: https://honda-tech.com/forums/honda-civic-del-sol-1992-2000-1/98-civic-ex-problem-my-heat-please-help-i-need-car-3006708/
5. Your headgasket is bad
This would be accompanied by overheating/white smoke. Not having heat is the least of your worries at this point. There are several headgasket writeups if you search.
If anyone has anything to add I'd be happy to edit my post to include them.