My SQL multiple search criteria
I have a search query that looks for user clients via email. I would like it to look for first name and surname as well.
$list = mysql_query("SELECT id,
user_email,
meta_lastname.meta_value lastname,
meta_firstname.meta_value firstname
FROM wp_users
LEFT JOIN wp_usermeta meta_lastname
ON meta_lastname.user_id = wp_users.id
LEFT JOIN wp_usermeta meta_firstname
ON meta_firstname.user_id = wp_users.id
WHERE meta_lastname.meta_key = 'last_name'
AND meta_firstname.meta_key = 'first_name'
AND user_email LIKE '%$searchpattern%'
ORDER BY lastname;");
I tried changing the second to last line to
AND user_email, lastname, firstname LIKE '%$se开发者_开发问答archpattern%'
ORDER BY lastname;");
But that did not work.
Any ideas?
Marvellous
Maybe you just meant
AND
(
user_email LIKE '%$searchpattern%'
OR lastname LIKE '%$searchpattern%'
OR firstname LIKE '%$searchpattern%'
)
In your WHERE clause, you must refer to table entities, and not entities in your result set.
You probably want:
AND
(
wp_users.user_email LIKE '%$searchpattern%'
OR meta_lastname.meta_value LIKE '%$searchpattern%'
OR meta_firstname.meta_value LIKE '%$searchpattern%'
)
Don't forget to escape $searchpattern with mysql_real_escape_string
before using it in a query.
精彩评论