用于验证两个值是否为NULL的SQL语句

时间:2013-11-04 19:26:24

标签: php html sql mysqli null

现在我的网站上有一个sql语句,用于检查数据库中的活动值是否为NULL,以便用户登录。我实现了一个辅助激活方法,现在我有两个活动字段:active和active2。下面是我的sql语句,但是我现在需要它来反映两个字段。

$q = "SELECT * FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND active IS NULL";

我尝试过CONCAT,但我不认为这是正确的语法,因为它似乎不起作用。

$q = "SELECT * FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND CONCAT(active, active2) IS NULL";

我需要检查sql语句中的active和active2字段以查看它们是否为null,如果它们为null,则用户可以登录,现在它只检查第一个活动字段。感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

我认为应该是:

  

$ q =“SELECT * FROM users WHERE(email ='$ e'AND pass = SHA1('$ p'))AND   (active IS null)AND(active2 IS NULL)“;

答案 1 :(得分:0)

您也可以使用COALESCE()

$q = "SELECT * FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND COALESCE(active, active2, NULL) IS NULL";