我想搜索在MySQL数据库中的记录,但是当使用命令是这样的:搜索与特定文字记录为起始字
$sql="SELECT name FROM students WHERE name LIKE '%name%'";
它返回所有与它所包含的字符的记录。
但我想只搜索名称以该字符开头的记录。
我想搜索在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' AND'namemy'
试试这个
$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%'";
非常感谢....我被卡在那个小概念上。再一次感谢 –
@GuaravArora没问题 – FMashiro