0

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

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

我有一种感觉,我在这里错过了一些小东西,或者我可能会离开我不太确定。我试过 email 是 null 以及 email = ''

$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";
} 
4

1 回答 1

1

NULL, is进行比较NULL,评估为假,您可以使用IS NULLor<=>如果您事先不知道任何一个操作数是否将是,但如果两者都是,则NULL需要它:trueNULL

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)
于 2013-10-17T18:54:36.460 回答