try not to figure out the oxidation numbers of individual atoms, but that of the ions instead.
that is to say, you know PO4 has a valency of -3, dont try to find out the valency of P and O separately, its too much trouble and proves nothing (you got the valency of P wrong btw, its +5), since the overall ion will remain the same.