基本上我有一個頁面,允許用戶張貼的主題,該表的字段是..出結果,只有當他們=某些領域
- topic_id
- 類別
- sub_category
- topic_data
- posted_by
- 發佈
我試圖在輸出頁面上配置頁面,以便如果用戶發佈到類別「常規」& sub_category「Stuff」,它將顯示包含Stuff的Sub_cat的兩個類別名稱General &的所有記錄。
這是我的代碼,它目前顯示一個空白的白屏,沒有錯誤。
$sql = "SELECT users.user_id, users.username, users.profile, topics.topic_id,
topics.category, topics.sub_category, topics.topic_data,
topics.posted_by, topics.posted, topics.view, topics.reply
FROM users, topics
WHERE topics.category = '" . $_GET['category'] . "'
AND topics.sub_category = '" . $_GET['sub_category'] . "'
ORDER BY topics.posted DESC";
$result = mysql_query($sql);
while($rows = mysql_fetch_array($result)){
使用上面的代碼,如果我去topics.php?category=General
它成功地顯示了通用的記錄,不知道這是做這雖然正確的方法。
編輯
該主題貼,我改變了頭重定向從topics.php
到topics.php?category=$category&sub_category=$sub_category
這工作,但我對系統用戶和它現在發佈了相同的數據,這兩個用戶....
對於SQL注入攻擊**和**,如果你還沒有被攻擊,你將被黑客攻擊**。使用PDO或類似的準備/參數化查詢來完全避免此問題。 – Brad
感謝您的提示,這僅供內部使用,不會隨機黑客訪問此網站,謝謝。 – user2571547
它有什麼不同?在安全性方面,您剛剛犯了第二個最常見的錯誤。即使由於某種原因你不關心安全性,你仍然通過不轉義數據來破壞查詢。你的應用程序將不可避免地失敗。 – Brad