sql选择AND(如果已发布),或者选择not(如果未发布)


sql select AND if posted OR if not

我正在做一个搜索表单,所有字段都是可选的

所以如果我用AND…做了一个select语句。。。。如果有一个字段没有发布,我不会得到任何结果如果我选择了OR语句,我会得到一个广泛的结果

    $result= mysqli_query($con,"SELECT * FROM property WHERE 
   (Typ='$_POST[typ]' OR Purpose='$_POST[purpose]' OR City='$_POST[city]' OR a='$_POST[add]')
                  GROUP BY p_num ORDER BY Add_date DESC ");

有没有一种方法可以指定已发布的字段并为其执行select语句

检查用户是否已输入或未使用isset()

在回答之前,第一句话是:你应该使用准备好的语句,因为这样做是非常不安全的。

现在,对于答案,您应该事先对$Post变量进行任何操作/过滤/测试,在途中生成SQL查询,最后使用您逐位构建的SQL查询来查询数据库。