2015-05-29 68 views
0

我有這個jQuery的AJAX代碼,將數據發送到服務器來更新字段:jQuery的AJAX發送數據,並得到:SQLSTATE [HY093]:無效的參數號

$(function() { 
    $('#addFieldForm2').submit(function(e) { 
     e.preventDefault(); 

     if ($(this).parsley('validate')) { 

     $.ajax({ 
      url: "updateUsluga.php", 
      type: "POST", 
      async: true, 
      data: { ajdi:ajdi,opis:$("#opis1").val(),kolicina:$("#kolicina1").val(),jmere:$("#jmere1").val(),cena:$("#cena1").val(),popust:$("#popust1").val(),porez:$("#pdv1").val(),valuta:$("#valuta1").val()},   
      dataType: "html", 

      success: function(data) { 
       console.log(data); 
       $('#izmeni').modal('hide'); 
       $('#example').dataTable().fnDestroy(); 
       drawVisualization(); 
      }, 

我送,我可以從瀏覽器控制檯看到(網絡選項卡)這樣的數據:

ajdi=24&opis=decimalni+broj1&kolicina=10&jmere=h&cena=11.50&popust=5&porez=5&valuta=Din 

我updateUsluga.php文件是:

try {   
       $STH = $db->prepare("UPDATE usluge SET opis=:1, jmere=:2, kol=:3, cena=:4, valuta:=7, popust=:5, porez=:6 WHERE ID=:id AND user_id=:8"); 
       $STH->bindParam(':id', $_POST['ajdi']); 
       $STH->bindParam(':1', $_POST['opis']); 
       $STH->bindParam(':2', $_POST['jmere']); 

       $STH->bindParam(':3', $_POST['kolicina']); 
       $STH->bindParam(':4', $_POST['cena']); 
       $STH->bindParam(':5', $_POST['popust']); 
       $STH->bindParam(':6', $_POST['porez']); 
     $STH->bindParam(':7', $_POST['valuta']); 
       $STH->bindParam(':8', $user_id); 


       $STH->execute(); 

      } catch (PDOException $e) { 
       echo $e->getMessage(); 
      } 
      echo "<p>Data submitted successfully</p>"; 

但是當我嘗試運行這段代碼我只是得到:

SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens<p>Data submitted successfully</p> 

我知道這是什麼錯誤意味着,但我沒有看到任何misstke到我的代碼。請幫我解決這個簡單但奇怪的問題。

問題是becouse我沒有看到任何錯誤在我的代碼...

回答

1
$STH = $db->prepare("UPDATE usluge SET opis=:1, jmere=:2, kol=:3, cena=:4, valuta:=7, popust=:5, porez=:6 WHERE ID=:id AND user_id=:8"); 

你有一個錯字上valuta:=7,我認爲它必須是valuta=:7

+0

哇,thaks非常多,我是如此盲目。我試着整天解決這個問題! – MonkeyBusiness

+0

很高興幫助... – roullie

相關問題