我的问题很简单,但我认为解决方案并不那么简单。
所以,我正在寻找一种有效的方法来使用PHP和mySQL使用学生的名字来查询students
表。目前,我有这个代码:
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”的唱片?所有的答案将不胜感激。提前谢谢。
答案 0 :(得分:1)
尝试交换%
LIKE "%John%Smith%"
将返回“John James Smith”
要交换角色,你可以这样做:
$searchKey = str_replace(' ', '%', $searchKey);
答案 1 :(得分:0)
尝试WHERE(student_number + student_fname + student_lname),例如'%$ searchKey%'