2004 Honda civic check engine light on p0128?

I took my car to autozone to check the engine light and it gave me p0128 code. It says low coolant or faulty temp sensor. I do a little research and mostly everyone says its a thermostat problem. Which should I believe?

Yes, most likely on your Civic: It's the engine thermostat. This is what I get from the repair manual:

P0128 OBD-II Trouble Code
Technical Description
Coolant Thermostat (Coolant Temperature Below Thermostat Regulating Temperature)

What does that mean?
This means that the engine's PCM detected that the engine has not reached the required temperature level within a specified amount of time after starting the engine. The intent of the P0128 code is to indicate a faulty thermostat. Similar codes: P0125

In determining the engine did not reach a "normal" temperature, it takes into account the length of time the vehicle has been running, the intake air temperature (IAT) sensor reading, the engine coolant temperature (ECT) sensor reading, and the speed of the vehicle.

Symptoms
You will likely not notice any drivability problems other than the MIL illumination.

Causes
A code P0128 may mean that one or more of the following has happened:

Low engine coolant level
Leaking or stuck open thermostat
Faulty cooling fan (running too much)
Faulty coolant temperature (ECT) sensor
Faulty intake air temperature (IAT) sensor
Possible Solutions
Past experience indicates that the most likely solution is to replace the thermostat. However here are some suggestions on troubleshooting and repairing a P0128 OBD-II code:

Verify coolant strength & level
Verify proper cooling fan operation (check if it's running more than it should). Replace if necessary.
Verify proper engine coolant temperature (ECT) sensor operation, replace if necessary.
Verify proper intake air temperature (IAT) sensor operation, replace if necessary.
If the above items check out good, replace the thermostat.