我希望能够通过第一个字符找到数据库中的所有名称。例如:
$sql="SELECT name LEFT(".$_GET['abc'].",1) from `users` ORDER BY `id` LIMIT 20";
$res=mysql_query($sql) or die(mysql_error());
并输出:
字母:C
姓名:克雷格、克里斯、乍得等。
我觉得好像很简单,出于某种原因,我在 Google 上找不到它。我也不想使用LIKE
,因为我需要它只是第一个字符。
用这个 :
SELECT name FROM `users` WHERE name LIKE 'c%'
%
是 SQL 中的“小丑”……对于大多数 DBMS
您的查询需要稍作更改:
$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());