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