Php MySQL查询:如果REGEXP$var为空,则选择all?
上面的代码非常有效,但是如果Php MySQL查询:如果REGEXP$var为空,则选择all?,php,mysql,regex,select,Php,Mysql,Regex,Select,上面的代码非常有效,但是如果$cities为空,则不会选择任何内容。如果$cities没有值,我想选择所有行。我怎样才能做到这一点?谢谢 您需要在php中使用一个条件,当$cities变量为空时,它会删除where子句。或者,您可以使用一个正则表达式来匹配所有内容,如/^/,但它并不特别优雅。您应该检查$cities是否为空。如果是,您可以将其替换为。*(匹配所有内容)或从查询中删除from子句(将提高性能) 或许 $results = mysql_query("SELECT * FROM me
$cities
为空,则不会选择任何内容。如果$cities
没有值,我想选择所有行。我怎样才能做到这一点?谢谢 您需要在php中使用一个条件,当$cities
变量为空时,它会删除where子句。或者,您可以使用一个正则表达式来匹配所有内容,如/^/
,但它并不特别优雅。您应该检查$cities是否为空。如果是,您可以将其替换为。*(匹配所有内容)或从查询中删除from子句(将提高性能)
或许
$results = mysql_query("SELECT * FROM messages".
(empty($cities)? "":" WHERE content REGEXP '$cities'"));
对,如果其他人会这样做:P我在想什么??谢谢
$results = mysql_query("SELECT * FROM messages".
(empty($cities)? "":" WHERE content REGEXP '$cities'"));
$results = mysql_query("SELECT * FROM messages WHERE '$cities' = '' OR content REGEXP '$cities'");