プリペアドステートメントで変数をエスケープする必要はありません。代わりに、ステートメントを実行する前に変数をバインドする必要があります。また、列名は`マーク内にある必要があります。
$stmt = $dbConnectionW->prepare("UPDATE members SET
`fname`=?,
`sname`=?,
`gender`=?,
`nationality`=?,
`year`=?,
`dep1`=?,
`dep2`=?,
`f_pos`=?,
`f_region`=?,
`exp_comp`=?,
`exp_dep`=?,
`shareinfo`=?,
`interest`=?,
`userconfirm`=?
WHERE `confirmcode`=?");
$stmt->bind_param('ssssissssssssis',$_POST['fname'],$_POST['sname'],$_POST['gender'],...);
$stmt->execute();
簡潔にするために、バインドされたすべてのパラメーターを含めていません。
これがお役に立てば幸いです。