我希望能够通过其第一个字符找到数据库中的所有名称。例如:
$sql="SELECT name LEFT(".$_GET['abc'].",1) from `users` ORDER BY `id` LIMIT 20";
$res=mysql_query($sql) or die(mysql_error());
输出:
信:C
姓名:Craig,Chris,Chad等。
我觉得好像很简单,出于某种原因,我无法在Google上找到它。我也不想使用LIKE
,因为我需要它只是第一个字符。
答案 0 :(得分:4)
使用它:
SELECT name FROM `users` WHERE name LIKE 'c%'
%
是SQL中的“joker”...大多数DBMS
答案 1 :(得分:0)
您的查询需要稍微更改一下:
$first_letter = substr($_GET['abc'], 0, 1);
$sql="SELECT name from `users` WHERE LEFT(name ,1) = '" . $first_letter . "' ORDER BY `id` LIMIT 20";
// OR SUBSTR variant
$sql="SELECT name from `users` WHERE SUBSTR(name, 1, 1) = '" . $first_letter . "' ORDER BY `id` LIMIT 20";
$res=mysql_query($sql) or die(mysql_error());