How long have you had it? Either the battery kicked the bucket from normal use, or there's a broken connection somewhere between the battery and the phone itself.
Test the battery with a volt meter. Go buy one if you don't have one, they're only about $30. You can even return it after if you feel like being really cheap, but I'd recommend holding onto it incase you need to diagnose this sort of thing in the future.
If the battery gives a solid reading on the volt meter, it's the phone itself. You would have to call the carrier you're with and find out your options for repairs or simply buy a new phone.