mysql查询:LIKE%$ var%但不是$ var为空时

时间:2012-04-26 22:30:17

标签: php mysql

使用此查询调出铃声。

$result2 = mysql_query("select * from ringtones where (artist LIKE '%$artist%' or title LIKE '%$title%') and id!='$ringtoneid' limit 50");

问题是: 当$ artist或$ title为空时,如何防止显示所有行? 不涉及查询变量(检查并在PHP变量中放入适当的查询字符串)。

关于它的其他“想法”?

感谢。

2 个答案:

答案 0 :(得分:3)

只需添加附加条件:

   AND '$artist$title' != ''

答案 1 :(得分:0)

除非设置了$ var,否则不要将条件添加到WHERE子句中:

if (isset($artist)) 
    $condition .= "artist LIKE '%$artist%'"
....
$result2 = mysql_query("select * from ringtones where $condition");

但是,正如Bobby Tables所提到的,你需要使用准备语句