使用特定单词作为起始单词搜索记录

时间:2017-05-31 07:30:42

标签: php mysql

我想在MySQL数据库中搜索记录,但是当使用这样的命令时:

$sql="SELECT name FROM students WHERE name LIKE '%name%'";

它返回包含其所包含字符的所有记录。

但我想只搜索名称以该字符开头的记录。

2 个答案:

答案 0 :(得分:5)

你需要删除其中一个通配符,试试这样:

$sql="SELECT name FROM students WHERE name LIKE 'name%'";

%字符表示此方面的任何字符。

因此,如果您执行%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'

答案 1 :(得分:3)

试试这个

$sql="SELECT name FROM students WHERE name LIKE 'name%'";

<强>阐释:

%允许您匹配任何长度的任何字符串(包括零长度)

1)字符串前的%允许您将所需的列值结束与字符串匹配

Example - $sql="SELECT name FROM students WHERE name LIKE '%name'";

2)字符串后的%允许您将所需的列值与字符串匹配

 Example - $sql="SELECT name FROM students WHERE name LIKE 'name%'";

3)字符串前后的%允许您匹配包含字符串的所需列值。

 Example - $sql="SELECT name FROM students WHERE name LIKE '%name%'";