MySql 在多列中搜索姓名和电子邮件
MySql search name and email in multiple column
我在 mysql 的多列中匹配/搜索值时遇到问题。
在我的 table 中,我有姓名、所有者、电子邮件、altemail、altemail2、altemail3 列名称。
姓名=约翰;
电子邮件 = 约翰@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,$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);
我在 mysql 的多列中匹配/搜索值时遇到问题。
在我的 table 中,我有姓名、所有者、电子邮件、altemail、altemail2、altemail3 列名称。
姓名=约翰; 电子邮件 = 约翰@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,$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);