sql >> Databasteknik >  >> RDS >> Mysql

MySQLi-uppdatering förberedd uttalande uppdaterar inte databasen

Du behöver inte undkomma dina variabler i en förberedd sats, istället bör du binda dina variabler innan du kör satsen. Kolumnnamnen ska också vara inom `-tecken.

$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();

Jag har inte inkluderat alla bundna parametrar för korthetens skull.

Hoppas detta hjälper.




  1. inklusive saknade (nollantal) rader när du använder GROUP BY

  2. NULL vs. "oändlighet" i PostgreSQL-intervalltyper

  3. Vad kan en aggregatfunktion göra i ORDER BY-satsen?

  4. enkel MySQL binär datainsättning