php 多条件复合搜索 10
提交页post传过来的值,要做十一个,现在用三个值来说明这个问题$Type=$_POST['cat1'];$Part_num=$_POST['Part_num'];$VW...
提交页post传过来的值,要做十一个,现在用三个值来说明这个问题
$Type = $_POST['cat1'];
$Part_num = $_POST['Part_num'];
$VWDC = $_POST['cat2'];
$sql = "select * from table ";
$sql.=" where ";
if($Type!="") { $sql.="Type='".$Type."' "; }
if($Part_num!="") { $sql.="Part_num='".$Part_num."'" ; }
if($VWDC!="") { $sql.="VWDC='".$VWDC."' "; }
echo "$sql"; //这样打印出来 sql 语句 where 后面是没有 and 连接查询的!
问题:这个and 应该写在那个位置 ,打个比方
if($Part_num!="") { $sql.="and"."Part_num='".$Part_num."'" ; }
写在前面的话,那如果 $Type传过来的是为空值,不就是 select * from table where and …… 错误!
同理写在后面,那后面的值也有空值!
有什么好办法解决! 想了下,在变量前后加 “and” 都有可能出现空值,导致 sql 查询错误。。是不是在sql 查询语句做处理? 展开
$Type = $_POST['cat1'];
$Part_num = $_POST['Part_num'];
$VWDC = $_POST['cat2'];
$sql = "select * from table ";
$sql.=" where ";
if($Type!="") { $sql.="Type='".$Type."' "; }
if($Part_num!="") { $sql.="Part_num='".$Part_num."'" ; }
if($VWDC!="") { $sql.="VWDC='".$VWDC."' "; }
echo "$sql"; //这样打印出来 sql 语句 where 后面是没有 and 连接查询的!
问题:这个and 应该写在那个位置 ,打个比方
if($Part_num!="") { $sql.="and"."Part_num='".$Part_num."'" ; }
写在前面的话,那如果 $Type传过来的是为空值,不就是 select * from table where and …… 错误!
同理写在后面,那后面的值也有空值!
有什么好办法解决! 想了下,在变量前后加 “and” 都有可能出现空值,导致 sql 查询错误。。是不是在sql 查询语句做处理? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询