我遇到了匹配/搜索 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/