ajax& PDO变量作为WHERE的条件

时间:2016-12-09 21:48:05

标签: javascript php mysql ajax pdo

所以我想制作一个"搜索引擎"对于我的数据库。 我的javascript是:

enterHours();

我的html如下:

$(document).ready(function(){
   window.enterHours = function () {
       document.getElementById("hours").innerHTML = "This is a test";    
   }
}

现在我有了我的php

 $(document).ready(function () {
     $("#display").click(function () {
         var zoeknaam = $("#zoeknaam").val();
         var zoektype = $("#zoektype").text();
         $.ajax({    //create an ajax request to load_page.php
             type: "POST",
             url: "display.php",
             data: { name: zoeknaam, zoekt: "name" },
             dataType: "html",   //expect html to be returned                
             success: function (response) {
                 $("#responsecontainer").html(response);
                 //alert(response);
             }

         });
     });
 });

当我删除where条件并将条件设置为name时,它可以工作。现在,当我用帖子和参数检索它时,它不起作用。 connection.php是正确的,因为它适用于条件。

1 个答案:

答案 0 :(得分:2)

这是错误的:

... WHERE :waar=:postname

您只能在预准备语句中使用占位符绑定值,而不能使用列名或表名绑定值。

如果您想接受并使用客户提供的列名或表名,唯一可以确保这一点的方法是检查白名单,然后将它们直接注入查询字符串。