【问题标题】:MySql search name and email in multiple columnMySql 在多列中搜索名称和电子邮件
【发布时间】:2015-03-02 05:04:44
【问题描述】:

我在 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);

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

再次感谢您的帮助。

【问题讨论】:

    标签: php mysql match


    【解决方案1】:

    将您的查询更改为此

    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);
    

    【讨论】:

      【解决方案2】:

      这应该可行:

      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);
      

      【讨论】:

        猜你喜欢
        • 2015-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-01
        • 2017-10-24
        • 2012-11-26
        • 1970-01-01
        相关资源
        最近更新 更多