When you "have an upset stomach", it means that your stomach feels strange. It feels like you might need to throw up or have diarrhea soon.
This is similar to "having a stomach ache" but a little different. A "stomach ache" sounds like you have some kind of pain there. An "upset stomach", on the other hand, doesn't mean that you have pain. It just means that the food in your stomach is going to need to come out soon in one way or another.
You can also say "(someone's) stomach is upset":
What's wrong? Is your stomach upset?