For polynomials over the field $\mathbb K=\mathbb C$ the follwing theorem holds:
Theorem. If $p(x_1,...,x_n), q(x_1,...,x_n)\in \mathbb K[x_1,...,x_n]$ are polynomials such that $p(x_1,...,x_n)$ is irreducible and for all $a_1,...,a_n \in K:$ $$ p(a_1,...,a_n)=0 \Rightarrow q(a_1,...,a_n)=0, $$ then $p(x_1,...,x_n) | q(x_1,...,x_n)$.
This theorem is not true for polynomials over $\mathbb K=\mathbb R$. For example it is not true for $p(x_1,x_2)=x_1^2+x_2^2$, $q(x_1,x_2)=x_1$.
Is a version of this theorem, with additional assumptions, for polynomials over $\mathbb R$?
Is it maybe true with additional assumption about $p$ that
(*) "there exists a $y=(y_1,...y_n)\in \mathbb R^n$ such that $p(y)=0, grad f(y)\neq 0$"
If not, is it true with additional assumptions (*) and
(**) $p$ is of degree $2$ and $q$ of degree $\leq 2$ ?
I'm mainly interested in the last case.