php - 在 php 中搜索多个值

标签 php mysql search select resultset

我有一个表单,其中有三个文本字段,用户在其中任何一个或所有文本字段中输入电子邮件,我需要检查该电子邮件是否存在于数据库中。 问题是,可能用户只填写了 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

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

关于php - 在 php 中搜索多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21636347/

相关文章:

apache - Solr不会配置

php - GD中的imagefilter()错误(无文件?)

php - PHP fsockopen() 错误 paypal 的任何替代方法?

php - MySQL 查询,日期范围从 "Blacklist"

MySQL 加入 3 个表

mysql - 列等价,包括 NULL 值

javascript - 从下拉列表中搜索并建议关键字

php - Symfony 2 在子文件夹中找不到翻译文件

php - 找不到 docker-compose pdo-mysql 驱动程序

php - array_search 没有找到所有的值