Mysql
 sql >> Database >  >> RDS >> Mysql

La dichiarazione preparata per l'aggiornamento di MySQLi non aggiorna il database

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.