php - MySql 在多列中搜索姓名和电子邮件

标签 php mysql match

我遇到了匹配/搜索 mysql 中多列中的值的问题。

在我的表中,我有姓名、所有者、电子邮件、altemail、altemail2、altemail3 列名称。

姓名=约翰; 电子邮件= john@doe.com

现在名称可能位于名称或所有者列中,电子邮件可能位于以上四列中。

现在我想进行搜索并列出同时包含姓名和电子邮件的结果。意味着姓名和电子邮件应该匹配,而不仅仅是姓名或电子邮件。

这是我到目前为止所做的,但不起作用:

SELECT*                     
FROM $table
WHERE name = '%s' OR owner = '%s' AND email = '%s' OR alt_email = '%s'
OR alt_email2 = '%s' OR alt_email3 = '%s'",$name,$email,$email,$email,$email);

但在这里,如果名称匹配,则显示结果并忽略电子邮件,或者如果电子邮件匹配,则显示结果,则忽略名称。但我需要该用户信息来匹配姓名和电子邮件。

再次感谢您的帮助。

最佳答案

将您的查询更改为此

SELECT*                     
FROM $table
WHERE (name = '%s' OR owner = '%s') AND (email = '%s' OR alt_email = '%s'
OR alt_email2 = '%s' OR alt_email3 = '%s')",$name,$name,$email,$email,$email,$email);

关于php - MySql 在多列中搜索姓名和电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28803015/

相关文章:

php - Laravel 4 分页方法

javascript - 在 Cpanel 上使用 Javascript AJAX POST 时出现 500 内部服务器错误

php - mysql 的多个下拉菜单

php - 如何使用 Laravel 和 Eloquent 查询具有多种关系的数据透视表

javascript - 每次在字符串中找到匹配项时都会运行该函数

scala 文本中单词之间的绝对最小距离

php - 如何在 behat selenium 中获取 Xpath

mysql - 检测两个 MySQL 列中的重复项(分散在列中的唯一值)

search - 如何提高Elasticsearch中的搜索相关性顺序?

php - 组列与无组列混合时出现错误