0

我的问题很简单,但我相信的解决方案并不那么简单。

因此,我正在寻找一种有效的方法来students使用 PHP 和 mySQL 使用学生的姓名来查询表。目前,我有这个代码:

 SELECT * from students 
 WHERE student_number='$searchKey' //can also search using student number
 OR student_fname LIKE '%$searchKey%'
 OR student_lname LIKE '%$searchKey%'
 OR concat(student_lname,' ',student_fname) LIKE '%$searchkey%'

$searchKey搜索变量在哪里。这种类型的数据库查询对于一个单词或一个名字的名字足够有效。

问题是,如果我正在寻找“John James Smith”,但我只知道他的名字是“John Smith”怎么办?我怎样才能检索到“John James Smith”记录?所有的答案将不胜感激。提前致谢。

4

2 回答 2

1

尝试交换空间%

LIKE "%John%Smith%"

将返回“约翰·詹姆斯·史密斯”

要交换角色,您可以这样做:

$searchKey = str_replace(' ', '%', $searchKey);
于 2013-09-16T08:21:42.380 回答
0

尝试 WHERE (student_number+student_fname +student_lname) like '%$searchKey%'

于 2013-09-16T10:04:24.333 回答