2017-06-12 66 views
-1

下面的代碼運行時沒有錯誤,但在數據庫上我仍然得到那些值= 0。SQL UPDATE沒有錯誤,但沒有在數據庫中填充字段

$id=$_REQUEST['id']; 
$ectoTOT=9; 
$mesoTOT=1; 
$endoTOT=5; 

$sql = 'UPDATE utenti2 SET ectoTOT=:ectoTOT,endoTOT=:endoTOT,mesoTOT=:mesoTOT WHERE id=:id';//:nome parametri 
$rs = $db->prepare($sql); 
//collego le variabili al parametro e faccio sanificazione 
$rs->bindValue(':id', $id, PDO::PARAM_INT); 
$rs->bindValue(':ectoTOT', $ectoTOT, PDO::PARAM_INT); 
$rs->bindValue(':mesoTOT', $mesoTOT, PDO::PARAM_INT); 
$rs->bindValue(':endoTOT', $endoTOT, PDO::PARAM_INT); 
$rs->execute(); 

echo 'OK'; 
exit; 

現在的作品......曾在同一個頁面上的多個查詢,並留下$導致的代替$ RS

+0

檢查'$ id'是否具有期望值 – Jens

+0

是的,我用$ id得到正確的值 – Fetz

+0

相同的值綁定了兩次ectoTOT。並且缺少綁定一列的內容endoTOT @Fetz – JYoThI

回答

1

同一列綁定值的兩倍。而ectoTOT缺少一個列綁定endoTOT

$rs->bindValue(':ectoTOT', $ectoTOT, PDO::PARAM_INT); 

更改爲

$rs->bindValue(':id', $id, PDO::PARAM_INT); 
$rs->bindValue(':ectoTOT', $ectoTOT, PDO::PARAM_INT); 
$rs->bindValue(':mesoTOT', $mesoTOT, PDO::PARAM_INT); 
$rs->bindValue(':endoTOT', $endoTOT, PDO::PARAM_INT); 
相關問題