我有一个表单,其中有三个文本字段,用户在其中任何一个或所有字段中输入电子邮件,我需要检查该电子邮件是否存在于数据库中。问题是可能是用户只填写了 1 个字段,可能是我从数据库中得到了多个结果,我用 php 编写的查询是
$sql = "SELECT * FROM user_email WHERE (emailAddr = '{$d1]}' OR emailAddr = '{$d2}' OR emailAddr = '{$d3}') AND email!='' LIMIT 1";
考虑不同的用例,其中可能有空白字段,什么都没有写,我做得对吗?
我完全忽略了您如何使用带有括号的语法,但它可能是这样的:
SELECT
*
FROM
user_email
WHERE
email
IN
('$d1','$d2','$d3')
LIMIT
1
也就是说,如果有一封电子邮件等于这三封电子邮件之一,则返回该行。