You can say: tengo sed or estoy sediento, tengo hambre or estoy habriento.
The basic difference is that tener means when you have something, a need but estar indicates a condition.
Ex:
You need to sleep: tienes sueño.
Your current condition: estas soñoliento.
It's difficult to explain because the translation to english ia the same for both sentences.
Tengo hambre: I'm hungry.
Estoy hambriento: I'm hungry.
Tener - to have
Tengo hambre/sed
estar- to be
Estoy cansando/contento
Un saludo
Tener means to have so it's not possible to say "tengo feliz" too. :)