Where子句中的多个条件,打破第二个条件

时间:2012-06-18 17:49:10

标签: php sql where-clause

这是一个非常简单的问题。我必须做一些愚蠢的事情:

此查询回显了一个行ID号:

$query = "SELECT * FROM userpage WHERE uploaderrating = $rating";
        $result = mysql_query($query);
        $row1= mysql_fetch_array($result);
            echo $row1[id];

当我添加一个附加条件时(即使条件在SQL数据库中确实满足,回声确实产生了任何东西(即变量为空)。失败的代码是:

$query = "SELECT * FROM userpage WHERE uploaderrating = $rating and reviewer = NULL";
        $result = mysql_query($query);
        $row1= mysql_fetch_array($result);
            echo $row1[id];

3 个答案:

答案 0 :(得分:6)

你不能使用

reviewer = NULL

您需要使用

reviewer IS NULL

NULL是未定义的值,因此它不等于任何值;所以你需要使用IS来寻找它。

答案 1 :(得分:1)

你应该使用

 $query = "SELECT * FROM userpage WHERE uploaderrating = $rating and reviewer IS NULL";
    $result = mysql_query($query);
    $row1= mysql_fetch_array($result);
        echo $row1[id];

我希望它有效。

答案 2 :(得分:0)

据我所知,使用IS验证空值

  • ...其中xxx为空
  • ...其中xxx不为空