簡體   English   中英

PHP / MSSQL-從用戶輸入(HTML)進行過濾

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM