可能让PHP MYSQL查询忽略WHERE子句中的空变量?

不知道我该怎么做。基本上,我有一个用组合框填充的变量,然后通过where子句传递给MQSQL查询以形成过滤器。我需要做的是让用户将组合框留空,然后在where子句中忽略该变量。这可能吗?

即从此代码。假设填充$ value1的组合框为空,是否有任何方法可以忽略此组合,而仅应用第二个过滤器。

$query = "SELECT * FROM moth_sightings WHERE user_id = '$username' AND location = '$value1' AND english_name = $value2 ";

$result = mysql_query($query) or die(mysql_error());

$r = mysql_numrows($result);

谢谢你的帮助。C

回答:

采用

$where = "WHERE user_id = '$username'";

if(!empty($value1)){

$where .= "and location = '$value1'";

}

if(!empty($value2 )){

$where .= "and english_name= '$value2 '";

}

$query = "SELECT * FROM moth_sightings $where";

$result = mysql_query($query) or die(mysql_error());

$r = mysql_numrows($result);

以上是 可能让PHP MYSQL查询忽略WHERE子句中的空变量? 的全部内容, 来源链接: utcz.com/qa/402559.html

回到顶部