Php 如何通过ajax传递sql查询?

Php 如何通过ajax传递sql查询?,php,jquery,mysql,json,ajax,Php,Jquery,Mysql,Json,Ajax,我需要将sql查询传递到ajax文件 $qry = mysqli_query($this->con,"SELECT * FROM products"); 我已将变量包含在html中,例如: <input type="button" data-qry="'.$qry.'" id="button" value="click"> 我希望能够打开ajax.php并执行 $qry = $_POST['qry']; $row = mysqli_fetch_assoc($qry); 当

我需要将sql查询传递到ajax文件

$qry = mysqli_query($this->con,"SELECT * FROM products");
我已将变量包含在html中,例如:

<input type="button" data-qry="'.$qry.'" id="button" value="click">
我希望能够打开ajax.php并执行

$qry = $_POST['qry'];
$row = mysqli_fetch_assoc($qry);

当然,这是行不通的。如何传递查询?是否需要通过JSON进行查询?如何?

在按钮的开头,将值分配给变量数组

array = $(this).attr('data-qry');
但您使用ajax发送qry

data    : 'qry='+qry,

解决这一问题的方法是发送指定值的变量

,允许用户指定正在执行的SQL查询,这听起来是一个非常危险的想法。我希望你信任你的用户。还有什么其他方法可以做到这一点?这完全取决于你想做什么。如果您希望您的用户编写自己的SQL查询,那么这种方法一旦起作用就可以了。但我们真的不清楚你为什么要这么做。如果您的用户可以信任,这没关系,但仍然值得一提,以防其他人遇到这个问题。如果恶意用户发现AJAX脚本发送到的页面,他们可以输入
从用户中删除
(假设您有一个用户表),然后删除所有用户;除其他事项外(XSS注入所有数据等)。。
data    : 'qry='+qry,