para comenzar no tiene que ver esto:
Código PHP:
Ver original $_SESSION["user_mail"]= $datos["user_mail"];
mejor definelo de
$user_mail_nuevo, ya que viene el mismo dato supongo, no?
despues, creo que aqui hay error... ya que la funcion te devuelve un dato numerico, y al poner comillas estas comparando un dato string... quitalas
if ($num_row == 1) Cita: no se que estoy haciendo mal pero nunca el while entra al 1
cual while?