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] . ")"
編集:$user_idの代わりに'user_id'の方がはるかに理にかなっています:)