在php中搜索多个值

时间:2014-02-07 19:37:00

标签: php mysql search select resultset

我有一个表单,其中有三个文本字段,用户在其中的任何一个或全部中输入电子邮件,我需要检查该电子邮件是否存在于db中。 问题是可能是用户只填写了1个字段,可能是我从DB得到多个结果,我在php中写的查询是

$sql = "SELECT * FROM user_email WHERE (emailAddr = '{$d1]}' OR emailAddr = '{$d2}' OR emailAddr = '{$d3}') AND email!='' LIMIT 1";

考虑可能存在空字段的不同用例,没有写任何内容,我做得对吗?

1 个答案:

答案 0 :(得分:3)

我完全忽略了如何使用带括号的语法,但它可能是这样的:

SELECT
  * 
FROM 
  user_email 
WHERE 
  email 
IN 
  ('$d1','$d2','$d3') 
LIMIT 
  1

也就是说,如果有一封电子邮件等于这三个中的一个,则返回该行。