jQuery ajax发送数据并获取:SQLSTATE [HY093]:无效的参数号 - javascript

我有此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>

我知道此错误的含义,但是我的代码中看不到任何错误。请帮助我解决这个简单但奇怪的问题。

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

参考方案

$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

jQuery val函数在隐藏字段上不起作用? - javascript

这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …

写一行到javascript文件 - javascript

我正在使用数组来显示网站中的一些图像:var paintingImages; paintingImages = [ { url: 'images/objects/ron.jpg', alt: 'ron' } ]; 该js代码写在paintings.js中,我的主要js代码写在main.js文件中我已经为艺术家制作了这个…

用户刷新页面或导航到其他页面时,侧边栏上的其他广告 - javascript

我有一个带有广告部分的侧边栏。当用户导航到其他页面或刷新页面时,我想在该部分上显示其他广告。我想轮播5-10个广告。每个广告都是一个脚本,因此包含10个以上的广告会减慢我的页面速度。在刷新时或用户导航到其他页面时轮播广告的最佳方法是什么?这是给我的wordpress博客的,但我不想使用插件。JS Fiddle<?php $ads = array(�…

提取元素的HTML - javascript

我正在尝试获取HTML标签的内部HTML,到目前为止,我该怎么做?<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script type="text/javascrip…

需要将使用html2canvas的屏幕截图保存为psd,并保存在文件夹中[关闭] - javascript

Closed. This question needs to be more focused。它当前不接受答案。                                                                                                                            …