现在我的网站上有一个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,则用户可以登录,现在它只检查第一个活动字段。感谢任何帮助。
答案 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";