所以我试图在我的PHP代码中涉及一条if语句到我的SQL查询中。基本上,我想说“如果$ var不是0,添加WHERE子句,但是如果$ var是0,请不要添加它”。如果在SQL查询语句中为PHP
下面的代码,似乎没有工作。非常感谢帮助!
$var = $_GET["var"];
$query = sprintf("SELECT * FROM table ".if($var != 0) { echo "WHERE var = '%s'," }."
if($var != 0) { mysql_real_escape_string($var) });
$result = mysql_query($query);
更新
我最终决定,因为我将使用多个变量多个条件,这是最好做到以下几点:
$var = $_GET["var"];
$string ='';
if ($var != 0) {
$string = "WHERE var =". $var . " ";
}
$query = sprintf("SELECT * FROM table ". $string.");
$result = mysql_query($query);
现在我可以使用尽可能多的变量,并添加额外的子句到SQL语句。
感谢您的帮助!
这是一个完全MySQL的方式。您能否评论一下它可能产生的一个例子结果?我想了解这个查询。谢谢 – 2012-01-29 22:44:08
这取决于你拥有的数据:那个查询告诉数据库只收集'column'和'$ value'完全相同并且用户指定的参数不等于零的行。关键是数据库不仅仅是一个用于存储数据的巨大散列表;他们也能够非常有效地过滤和处理海量数据 - 比PHP更具有优势。 – jmkeyes 2012-01-30 02:34:59