[英]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.