php多条件模糊查询出错

<body>
<table align="center" border="0">
<tr>
<td><!--#include file="top.asp"--></td>
</tr>
</table>
<table align="center" border="0">
<form method="post" action="ckcx.asp"name="form1">
<tr>
<td colspan="8" align="center" bgcolor="#609B95"><strong>出 库 信 息 查 询</strong></td>
</tr>
<tr>
<td width="100"><div align="center">编号</div></td>
<td width="100"><div align="center">出库编号</div></td>
<td width="100"><div align="center">材料名称</div></td>
<td width="100"><div align="center">开始日期</div></td>
<td width="100"><div align="center">结束日期</div></td>
<td width="100"><div align="center">出库单位</div></td>
<td width="100"><div align="center">入库单位</div></td>
</tr>
<tr>
<td><input name="bh" class="wzjz" type="text" size="12" onFocus="this.value=''"></td>
<td><input name="ckbh" class="wzjz" type="text" size="12" onFocus="this.value=''"></td>
<td><input name="clmc" class="wzjz" type="text" size="12" onFocus="this.value=''"></td>
<td><input name="ksrq" class="wzjz "type="text" size="12" onFocus="this.value=''"></td>
<td><input name="jsrq" class="wzjz" type="text" size="12" onFocus="this.value=''"></td>
<td><input name="dcdw" class="wzjz" type="text" size="12" onFocus="this.value=''"></td>
<td><input name="drdw" class="wzjz" type="text" size="12" onFocus="this.value=''"></td>
<td><input type="submit" name="ckc" value="查"></td>
</tr>
</form>
</table>
<?php
if($_POST['ckc']=="查"){
if($_POST['bh']!=""{
if ($cond="" ){
$cond="编号 like '%" & trim($_POST['[bh]) & "%'";
}
else{
$cond = $cond ." AND 编号 like '%" & trim($_POST['bh']) & "%'";
}
echo cond
?>

我想做个多条件模糊查询但是老是出错,以上为部分代码

你这里if判断语句没写对,里面获取post 变量都有问题
if ($cond="" ){
$cond="编号 like '%" & trim($_POST['[bh]) & "%'";
}
改成下面这样
if ($cond=="" ){
$cond="编号 like '%" & trim($_POST['bh']) & "%'";
}追问

还是错啊,35行语法错

追答

相关代码发一下,要不就自己细心调试下,或者你自己打印下看看你自己sql语句是不是有问题了,而且,php连接符不是都用点儿么,你这个全是用&?

看了下发在楼下的代码,确实写得挺糟糕的

if($_POST['ckc']=="查"){
    if($_POST['bh']!=""){
        if ($cond=="" ){
            $cond="编号 like '%" . trim($_POST['bh']) . "%'";
        }else{
            $cond = $cond ." AND 编号 like '%" . trim($_POST['bh']) . "%'";
        }
    }
}
echo $cond;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-25
错误信息给我追问

显示 35行语法错误

追答

35行语法错误

我知道你哪一段是35行?。。


<?php
if($_POST['ckc']=="查"){
  if($_POST['bh']!=""){
   if ($cond="" ){
     $cond="编号 like '%" & trim($_POST[bh]) & "%'";
   }
   else{
     $cond = $cond ." AND 编号 like '%" & trim($_POST[bh]) & "%'";
   }
    }
}
echo $cond;
?>


你写的神马玩意儿。。。

if括号都没有闭合

[]也没有闭合,

还输出个cond 神马东西,常量么??

输出也就算了 分号都不打。。

缩进也没有。。

槽点太多。。。。