The best thing to do in this case is to do as follows:
1) Back up your entire website, all files and the SQL database
2) clear the database and delete all files
3) install a fresh version of wordpress completely new.
4) try to make a post. If it works, then you are in luck, the problem is not with your host. If not, then the problem is your host.
(and anyways this does not at all sound like a problem with your host. It sounds like a problem with your theme or sql database got corrupted. However, if it is a problem with your host, then you should get a new host immediately because no legit web host will have problems like this.)
5) if you confirmed you could make a post on a fresh installation of wordpress, then all you need to do is:
6) install only the theme from the backup. Nothing else.
7) verify you can make posts. If yes, then proceed to next step. If no, then there is a problem with your theme. Find the problem and fix it, and then proceed to the next step.
8) install plugins individually from within wordpress (not from your backup).
9) verify you can make posts. If yes, then congratulations, problem solved. If no, then there is a problem with one or more of your plugins. Find the problem by disabling all plugins and then enabling each plugin one by one until you find the one that is the problem.
10) congratulations, problem solved.