Ajax数据插入数据库无法正常工作

时间:2017-08-15 19:36:20

标签: javascript php jquery mysql ajax

我正在尝试使用Ajax,jQuery和PHP为我的网站构建评论系统。我的网站有很多查询,如何在每个查询单独提交评论?

Ajax代码

 $(document).ready(function()
   {
   $("#comq").click(function() {
       var comment=$("#comment").val();
               var qid=$("#qid").val();
       $.ajax({
        cache:false,
        type:"post",         
         url:"jquery.php",
data:{comments:comment, qid:qid},
        success:function(data)
        {
    $(".cmt").html(data);
        }
     });
   });
  });

当我提交评论时,评论仅插入但查询(qid)未插入DB(数据库表)

php代码

 if(isset($_POST["comments"])){         
    $comment=$_POST['comments'];
    $qid= $_POST['qid'];
    $reslt_user= mysqli_query($connection,"SELECT * FROM tbl_users,`queries` where id='".$_SESSION['id']."' AND  qid= '".$qid."'");
    $row_lat_lng= mysqli_fetch_array($reslt_user);
       $stmt = mysqli_query($connection,"INSERT INTO comments set uid='".$_SESSION['id']."',comments='".$comment."',reply='".$reply."', qid= '".$qid."' ");

Html代码

     <div id="comments" class="cmt" >
    <input class="commentbox"id="comment"name="comments"placeholder="Comment 
               Here" maxlength="50">
    <input type="hidden"id="qid "name="qid">
     <button type="button" id="comq" name="compost" class="butn2" value="submit">
    </button>
                        </div>

如何根据查询发布评论(如何插入)?

1 个答案:

答案 0 :(得分:1)

在此处查看此行,

<input type="hidden" id="qid "name="qid">
                        ^^^^
  • id 属性错误地关闭"
  • 隐藏输入元素中缺少
  • value属性。

所以隐藏的输入元素应该是这样的:

<input type="hidden" id="qid" name="qid" value="SOME VALUE" />

旁注:了解prepared statement,因为您的查询现在容易受到SQL注入攻击。另请参阅how you can prevent SQL injection in PHP