Level system in a gamification platform
I would agree with @ardaozkal that an XP based system would be better (more flexible, etc).

But assuming that your approach is good enough for your situation, I also have some suggestions:


You have quite a bit of duplication, for example the completed mission queries or the completed campaign queries. You should extract those to their own function and reuse that.
Your code could generally benefit from more functions. Other candidates would be hasCompletexXMissions($db, $amount) or getCompletedMissionCount($db). 
If this project is a bit more complex, you definitely want to add classes, such as Mission, which may then contain the functions mentioned above.
Your lines are too long, which seriously impacts readability. 226 characters don't even fit on many modern screens. I would aim for about 80 characters.
You have a bit too much vertical whitespace for my taste. Do the first three statements really all need their own paragraph?
You can get rid of $currentLevel, it's only used in one location, and the name doesn't really add any value. Just use $userObj-&gt;level directly.