MySql искать имя и адрес электронной почты в нескольких столбцах

Я сталкиваюсь с проблемой сопоставления / поиска значений в нескольких столбцах в MySQL.

В моей таблице есть имя, владелец, электронная почта, altemail, altemail2, altemail3 имя столбца.

имя = Джон;
электронная почта = [email protected]

теперь имя может быть в столбце имени или владельца, а адрес электронной почты может быть выше четырех столбцов.

Теперь я хочу сделать поиск и перечислить результат, где присутствуют как имя, так и адрес электронной почты. означает, что имя и адрес электронной почты должны совпадать, а не просто имя или адрес электронной почты.

это то, что я сделал до сих пор, но не работает:

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

но здесь, если имя совпадает, оно показывает результат и игнорирует электронное письмо, или, если электронное письмо совпадает, оно показывает результат, игнорирует имя. но мне нужно, чтобы информация о пользователе соответствовала имени и электронной почте.

Еще раз спасибо за помощь.

0

Решение

измените свой запрос на этот

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);
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,$email,$email,$email,$email);
0

По вопросам рекламы [email protected]