PHP 发布代码存在,记录的其余部分为空


PHP Vaildate that Code exists and the rest of the record is blank

不会躺在这里,我可能会对此感到头疼,但任何帮助将不胜感激。

所以我有一个表单,它采用促销代码并验证它是否存在于数据库中,但同时它正在寻找电子邮件字段是否为空。 我有下面的代码,但我不确定为什么它没有解决错误,因为我在数据库中有一条带有该促销代码的记录,并且在其字段中有一个电子邮件地址。

有一种感觉,我在这里错过了一些小东西,或者我可能会偏离我不太确定。我试过电子邮件是空的,电子邮件=''

$dupesql = "SELECT * FROM formdata WHERE (promoCode = '$varPromo' AND email = null)";
$duperaw = $mysqli->query($dupesql);

if($duperaw->num_rows > 0) {
$dupe .= "$varPromo has already been used on $varDate 'n";
} 

NULL 的比较 ,是 NULL ,其评估为 false,如果您事先不知道任何一个操作数是否会被NULL,您可以使用 IS NULL<=> ,但如果两者都NULL,则需要true

mysql> SELECT NULL = NULL;
+-------------+
| NULL = NULL |
+-------------+
|        NULL |
+-------------+
1 row in set (0.00 sec)
mysql> SELECT NULL IS  NULL;
+---------------+
| NULL IS  NULL |
+---------------+
|             1 |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT NULL <=> NULL;
+---------------+
| NULL <=> NULL |
+---------------+
|             1 |
+---------------+
1 row in set (0.03 sec)