The result is false for any odd degree $n$. For example, if $n$ is odd, the only real root of $p(x)=x^n-1$ is $x=1$. All other roots are complex non-real roots of unity.
On the other hand, the result is true if $n$ is even (so perhaps the "odd" is just a typo.) Indeed, if $p(x)=a_0 +a_1x +......+a_nx^n$ with $a_n\ne0$, the $a_nx^n$ term dominates, meaning that for $x$ large, $p(x)$ has the same sign as $a_nx^n$. If $n$ is odd, this sign is different for $x$ positive and for $x$ negative (and, via the intermediate value theorem, this is the reason why odd degree polynomials have at least one real root). On the other hand, for $n$ even, this sign is the same for $x$ positive and negative (and it is the sign of $a_n $). If in addition $a_0a_n<0$, then this sign is the opposite of the sign of $p(0)=a_0$. This means, via the intermediate value theorem, that $p$ must have at least one negative and one positive real root.