PHP搜索名字和姓氏

Chr*_*ris 4 php sql search

所以我的网站上有一个搜索功能,这就是代码的样子.

$search_people = mysql_query("SELECT * FROM glnce_users 
                 WHERE f_name LIKE '%$search%' OR l_name LIKE '%$search%'");`
Run Code Online (Sandbox Code Playgroud)

如果我在我的搜索栏中输入Chris,它将调出所有Chris'

如果我输入我的搜索栏Olson,它将调出所有的Olson

但是如果我输入Chris Olson,即使有一个名字叫Chris的人和olson的姓氏,它也不能为我提供Chris Olson的结果.

我究竟做错了什么?

Num*_*Guy 17

爆炸阵列看起来很笨重且容易出错.我建议在查询中连接数据库列.这样,如果某人的名字中有一个空格,比如"Sarah Jane Albertson",它就不会寻找名字"Sarah"和姓氏"Jane"而完全忽略"Albertson".

这应该做你需要的:

$search_people = mysql_query("SELECT * FROM glnce_users 
    WHERE CONCAT(f_name, ' ', l_name) LIKE '%$search%' OR l_name LIKE '%$search%'");
Run Code Online (Sandbox Code Playgroud)


Mik*_*ito -2

首先爆炸你的绳子以获得每一块。分割成一个空间。然后将字符串中的所有部分与名字和姓氏进行比较。

或者,您可以组合选择上的名字列和姓氏列,以便它仅针对组合字段查询一次。