我通过表单提交价格和category_id,然后查询显示结果。我有下面这个。如何在SQL查询中的值为空时忽略AND field =值?
$s = mysql_real_escape_string($_GET["s"]);
$c = mysql_real_escape_string($_GET["c"]);
SELECT COUNT(id) FROM products WHERE price <= '$s' AND category_id = '$c'
当用户没有选择任何类别,并且它的值是空白时,什么也没有显示。我如何解决这个查询,如果$c
没有任何值,忽略AND category_id = '$c'
?
我想为此创建第二个查询,但是有没有其他方法?
感谢您的支持。但我有个问题。当c总是一个整数时,(int)比mysql_real_escape更好用吗? – EnexoOnoma
@Nikolai是的我相信如果期望的值总是整数,那么最好使用'(int)',因为转义会允许发送字符串等,但(int)强制转换为整数,如果它是一个整数,完美如果不是,你会得到一个零。 –