我的问题很简单,但我相信解决方案并不那么简单。
因此,我正在寻找一种有效的方法来使用 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
是搜索变量。这种类型的数据库查询对于一个单词或一个名字的名字足够有效。
,但我只知道他的名字是"约翰·史密斯"怎么办?我怎样才能检索到"约翰·詹姆斯·史密斯"的记录?所有答案将不胜感激。提前谢谢。
尝试交换空格以获得%
LIKE "%John%Smith%"
将回归"约翰·詹姆斯·史密斯"
要交换字符,您可以执行以下操作:
$searchKey = str_replace(' ', '%', $searchKey);
尝试 WHERE (student_number+student_fname +student_lname),例如 '%$searchKey%'