【问题标题】:Jquery ajax send data and get: SQLSTATE[HY093]: Invalid parameter numberjquery ajax发送数据并获取:SQLSTATE[HY093]: Invalid parameter number
【发布时间】:2015-08-12 03:47:46
【问题描述】:

我有这个 jquery ajax 代码,它将数据发送到服务器以更新字段:

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

我知道这个错误意味着什么,但我没有看到我的代码中有任何错误。请帮我解决这个简单但奇怪的问题。

问题是因为我在我的代码中没有看到任何错误...

【问题讨论】:

    标签: javascript php jquery ajax pdo


    【解决方案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

    【讨论】:

    • 哇,非常感谢,我真是瞎了眼。我整天都在努力解决这个问题!
    猜你喜欢
    • 2019-09-22
    • 2013-03-19
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    相关资源
    最近更新 更多