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


SQL statement to validate if two values are NULL

现在我的网站中有一个sql语句,用于检查我的数据库中的活动值是否为NULL,以便用户登录。 我实现了二次激活方法,现在有两个活动字段:活动和活动2。 下面是我的 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 语句中的活动和 active2 字段以查看它们是否为空,如果它们是空的,那么用户可以登录,现在它只检查第一个活动字段。 感谢任何帮助。

我认为应该是:

$q ="从用户中选择 *,其中 (电子邮件='$e' 和 pass=SHA1('$p')) 和 (活动为空)和(活动 2 为空)";

>你也可以使用COALESCE()

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