[英]PHP/MSSQL - Filtering from User Input (HTML)
我已获得此分配,以通过用户输入对当前的SQL查询进行某种过滤。 基本上,我正在寻找筛选选项,无论是某种菜单还是按钮,都没有关系。 我的mssql如下:
SELECT TOP 10 Test_Database.Distributor, Test_Database.Value
FROM Test_Database
WHERE Test_Database.Week = '(USER INPUT GOES HERE)'
GROUP BY Distributor
ORDER BY Value desc
如何使WHERE
语句成为用户输入? 例如,客户希望看到某个分销商的给定值,但要查看客户选择的周/月/年。
问候
我不确定,但也许您可以尝试。
<input type="text" name="week"/>
在选择页面中发布此文本框值,然后在关闭位置设置该值。
You can do that simply by introducing if else statement
$where = "";
//receive filter option example $_GET['week']
//Do some sanitizing for $_GET['week']
if ($_GET['week']) {
$where = "WHERE Test_Database.Week = $_GET['week']"
} else if (somecondition) {
$where = "some query";
}
//您可以通过串联$ where来添加多个条件,但要确保在哪里不重复
$query = "SELECT TOP 10 Test_Database.Distributor, Test_Database.Value
FROM Test_Database
$where
GROUP BY Distributor
ORDER BY Value desc "
sql查询中不应有来自用户的任何数据
没有通过过滤器
sql-injection不是一个空词
因此,如果您不清除,则在SQL中没有$ _GET ['week']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.