仅按第一个字符从数据库中选择名称

时间:2013-06-25 16:51:37

标签: php sql database

我希望能够通过其第一个字符找到数据库中的所有名称。例如:

$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,因为我需要它只是第一个字符。

2 个答案:

答案 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());