前台表单中有10多个表框,提交到后台,根据提交过来的的值进行查询,但有些表框没填是空值,请问后台接收的时候,怎么过滤掉空值,只把填写了数据的值拿来查询?
条件关系都是and。
不可能我把每个值都判断一下是否为空,再把不为空的值拿来组合SQL语句吧?
是的正如你所说有两种解决方案,第一种是采用PHP的方式,先判断数据的合法性,比如是否提交了空值(推荐使用,没有垃圾数据);第二种不做任何判断,空值也能提交到数据库,只是在SQL查询时过滤空值数据(不推荐使用,有垃圾数据)。
解决方案1(通过PHP过滤空值数据):
if ($_POST['字段'] == '') exit('<script type="text/javascript">alert("数据不合法!");history.back();</script>'); // 依此类推,逐一判断表单$_POST数据解决方案2(通过SQL查询来过滤空值数据):
SELECT `字段名` FROM `表名` WHERE `字段1` NOT IN ('', NULL) AND `字段2` NOT IN ('', NULL) ...;以上就是两种解决方案,我推荐两种方案组合使用,这样确保万无一失,如有问题欢迎追问~