搜索系统不搜索姓名和姓氏

时间:2013-07-26 13:59:09

标签: php mysql pdo

我有一个搜索系统可以帮助您过滤人员列表 我的表(人物)

id | name | surname | email

有一个文本框,您可以输入姓名,姓氏或电子邮件,以便在您键入时过滤列表。

如果我只写名字或只写姓氏,它会找到记录。但是,如果我输入姓名,它确实没有显示任何内容。

我尝试过Mysql的CONCAT功能。但它没有用。

我的查询:

SELECT * 
FROM People 
WHERE name LIKE :p1 
    OR surname LIKE :p2 
    OR email LIKE :p3

我试过这个

SELECT * 
FROM People 
WHERE name LIKE :p1 
    OR surname LIKE :p2 
    OR email LIKE :p3 
    OR CONCAT(name, char(32), surname) LIKE :p4

和这个

SELECT id, 
    name, 
    surname, 
    CONCAT(name, char(32), surname) AS fullname 
FROM People 
WHERE name LIKE :p1 
    OR surname LIKE :p2 
    OR email LIKE :p3 
    OR fullname LIKE :p4

当输入姓名+ [空格] +姓氏时,如何获得可以找到结果的系统?

1 个答案:

答案 0 :(得分:0)

您可以拆分关键字并搜索列中的每个关键字(或表达式)(姓名,姓氏和电子邮件)。