作者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