Vous avez oublié $ dans la dernière ligne de la requête, juste avant user_id.
$sql_insert = "INSERT into `language`
(`native`,`other`,`other_list`,`other_read`, `other_spokint`
,`other_spokprod`,`other_writ` )
VALUES
('$native','$other','$other_list','$other_read','$other_spokint','$other_spokprod',
'$other_writ') WHERE id= " . $_SESSION[$user_id] . ")"
edit :'user_id' au lieu de $user_id a beaucoup plus de sens :)