如果PHP值为空,是否有人知道如何获得mysql查询以忽略某个where条件。我正在尝试创建一个具有许多严格的where条件来筛选搜索的高级搜索引擎,但是如果PHP值为空,则希望SQL忽略其中的一些原因。例如:
$condition_1 = ' ';
$condition_2 = 'Random';
mysql_query("SELECT something FROM table WHERE row_1='$condition_1' && row_2='$condition_2'")会有15个原因在查询中,所以任何涉及为不同组合的搜索进行多个查询的事情都是不可行的。
$condition_1是空的,只会向那些在row_1中没有值的人显示结果,但是我只想让查询忽略row_1值为空时的row_1条件。我该怎么做?
发布于 2014-04-26 12:12:01
您可以动态地构造where条件,请注意,如果这两个条件都是空的,这也是有效的。
$sql = "SELECT something FROM table where 1 ";
if(trim($condition_1) != '')
$sql .= " AND row_1='$condition_1'";
if(trim($condition_2) != '')
$sql .= " AND row_2='$condition_2'";
mysql_query($sql);https://stackoverflow.com/questions/23310611
复制相似问题