[請益] 請教這樣的sql語法該怎麼寫

看板PHP作者 (別急著吃棉花糖)時間12年前 (2013/06/18 12:28), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
各位前輩好 因想要做一個查詢缺曠記錄的同學姓名和日期,但在sql語法後面的where判斷上有問題 若沒加where判斷是正常能顯現的,但加了where 卻有錯誤 錯誤訊息是Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in 在表單上有 <select size="1" name="D2"> <option value="official">公假</option> <option value="personal">事假</option> <option value="sickness">病假</option> <option value="absent">曠課</option> </select>  <select size="1" name="D3"> <option value=">"> > </option> <option value=">="> >= </option> <option value="not like">not like</option> <option value="like">like</option> </select> <input type="text" name="T1" size="4"> <?php 前方省略 $sql="select name,$_POST[D2] from records where $_POST[D2].$_POST[D3].$_POST[T1]"; ?> 後面的where如果我直接寫where $_POST[D2]>=3是可以正常顯示的。 請問各位,我的sql語法是哪邊寫錯了呢?謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.11.171.163 ※ 編輯: stator 來自: 124.11.171.163 (06/18 12:35)

06/18 12:51, , 1F
把sql語法echo出來就知道哪裡有問題了
06/18 12:51, 1F

06/18 13:17, , 2F
可以了。感謝樓上前輩提醒
06/18 13:17, 2F

06/18 13:20, , 3F
sql injection......你把未經處理的$_POST直接放到SQL語法
06/18 13:20, 3F

06/18 13:20, , 4F
這隨時會被入侵喔!
06/18 13:20, 4F

06/20 00:59, , 5F
記得加上 preg_match 或 eregi 函數來過濾使用者的輸入
06/20 00:59, 5F
文章代碼(AID): #1Hl-7lyN (PHP)
文章代碼(AID): #1Hl-7lyN (PHP)