Non è necessario eseguire l'escape delle variabili in un'istruzione preparata, invece è necessario associare le variabili prima di eseguire l'istruzione. Anche i nomi delle colonne dovrebbero essere all'interno di ` segni.
$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();
Non ho incluso tutti i parametri vincolati per brevità.
Spero che questo aiuti.