Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用link onClick上传数据库_Javascript_Php_Html_Ajax_Pdo - Fatal编程技术网

Javascript 使用link onClick上传数据库

Javascript 使用link onClick上传数据库,javascript,php,html,ajax,pdo,Javascript,Php,Html,Ajax,Pdo,当我点击一个特定的链接时,我在上传数据库信息时遇到了问题 数据似乎没有发送到upload.php HTML: <a href="#" class="btn" onClick="$(this).hide(); myfunc('.$a.', '.$b.')" role="button"> Mylink </a> <script type="text/javascript"> function myfunc(a, b) {

当我点击一个特定的链接时,我在上传数据库信息时遇到了问题

数据似乎没有发送到upload.php

HTML:

<a href="#" class="btn" onClick="$(this).hide(); myfunc('.$a.', '.$b.')" role="button"> Mylink </a>
<script type="text/javascript">

            function myfunc(a, b)
    {
                          $.ajax({
                            url: "upload.php",
                            type: "POST",
                            data: {"a": a, "b": b},
                            success:function() {
                             alert( "Done");
                            }
                           });
    }


        </script>
if (isset($_POST['a']) && isset($_POST['b'])) 
    {


        $a = $_POST['a'];
        $b  = $_POST['b'];


        $query1 = $db->prepare('UPDATE  users SET a = a + 1 where uid="'.$a.'"');                                        
        $query1->execute();

        $query2 = $db->prepare('UPDATE  users SET b = b + 1 where uid="'.$b.'"');                                        
        $query2->execute();

        if (!$query1 || !$query2)
        { 
            echo "Erreur SQL";
            exit();
        }

    }       

1st:您的html应该是这样的
myfunc(,)”

3rd:使用bind_参数值以避免SQL注入,整数值不应用单引号括起来

$query1 = $db->prepare('UPDATE  users SET a = a + 1 where uid=?');   
$query1->bind_param('i',$a);                                     
$query1->execute();

4th:在您的
upload.php
文件中,您首先准备
$query2
并尝试执行
$query1
我认为这是输入错误,请更正。

myfunc(“.$a.”,“.$b.”中的$a和$b是什么?我传递给myfunc的两个参数。实际上它们是整数。一切都正常。例如,当我运行代码时,我喜欢myfunc(1,2),但1和2没有发送到upload.php,所以我无法让它们上载我的数据库。我试着在函数myfunc(a,b)中对其发出警报吗?放置一个
console.log(a,b)
myfunc
的顶部。是否调用了它?是否调用了upload.php脚本?在php脚本的顶部添加
print\r($\u POST)
,并确保调用了它。基本调试…认为它应该是这样的myfunc(,)谢谢你的回答,但它也不起作用。正在调用myfunc,当我点击链接时,会显示“完成”。问题是数据没有发送到upload.phpif(isset($_POST['a'])和&isset($_POST['b']){----------}这部分没有执行。这就是为什么我确信数据没有发送到upload.phpDo。在upload.php echo文件中有一个解决方案@JYoThl?_get_contents('php://input“);注释该文件中的所有其他行。并将success函数更改为success:function(result){alert(result);},以了解该值是否正在发布。@DilakI解决了该问题。与数据库的连接是问题所在
  function myfunc(a, b)
    {
          $.ajax({
            url: "upload.php",
            type: "POST",
            data: {"a": a, "b": b},
            success:function() {
             alert( "Done");
            },
            error:function(jqXHR,error_string,error){

             console.log(error);

            }
           });
    }
$query1 = $db->prepare('UPDATE  users SET a = a + 1 where uid=?');   
$query1->bind_param('i',$a);                                     
$query1->execute();