作者stator (別急著吃棉花糖)
看板PHP
標題[請益] 請教這樣的sql語法該怎麼寫
時間Tue Jun 18 12:28:29 2013
各位前輩好
因想要做一個查詢缺曠記錄的同學姓名和日期,但在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)
1F:→ goode9969:把sql語法echo出來就知道哪裡有問題了 06/18 12:51
2F:→ stator:可以了。感謝樓上前輩提醒 06/18 13:17
3F:推 tkdmaf:sql injection......你把未經處理的$_POST直接放到SQL語法 06/18 13:20
4F:→ tkdmaf:這隨時會被入侵喔! 06/18 13:20
5F:推 banqhsia:記得加上 preg_match 或 eregi 函數來過濾使用者的輸入 06/20 00:59