我想在MySQL数据库中搜索一条记录,但是当使用这样的命令时:
$sql="SELECT name FROM students WHERE name LIKE '%name%'";
它返回所有包含它的字符的记录。
但我只想搜索名称以该字符开头的记录。
最佳答案
您需要删除其中一个通配符,像这样尝试:
$sql="SELECT name FROM students WHERE name LIKE 'name%'";
%
字符表示这一边的任何字符。
因此,如果您执行 %name
,则表示任何以 name
结尾的内容,如果您执行 name%
,则表示任何以姓名。但是,当您执行 %name%
时,它意味着任何包含单词 name
一些例子:
SELECT name FROM students WHERE name LIKE 'name%'
会匹配 'namemy' 但不会匹配 'myname'
SELECT name FROM students WHERE name like '%name'
会匹配 'myname' 但不会匹配 'namemy'
SELECT name FROM students WHERE name like '%name%'
将同时匹配 'myname' 和 'namemy'
关于php - 搜索以特定词为起始词的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44278401/