php mysql jquery AJAX自动完成区分大小写

在我的PHP脚本中,

$names = $_GET['part']; $result = mysql_query("SELECT * FROM namestable where names LIKE'%$names%' LIMIT 10"); while ($row = mysql_fetch_assoc($result)) { $colors[]=$row['publishers']; } 

检查匹配并运作良好。

但是假设我的桌子有一个名字阿尔弗雷德,只有当我输入Alfr并且如果我输入Alfr ,该建议才会出现

如果您使用不区分大小写的排序规则(例如utf8_general_ci则您提供的示例将起作用。 (有关更多信息,请参阅MySQL 字符集支持手册部分。)

或者,您可以简单地使用LOWER函数,如下所示:

 $names = strtolower(mysql_real_escape_string($_GET['part'])); $result = mysql_query("SELECT * FROM namestable WHERE names LIKE LOWER('%$names%') LIMIT 10"); 

顺便提一下,如果你试图捕捉到除了简单的大小写更改之外的差异,你也可以使用MySQL的SOUNDEX函数来获取和找到听起来类似的字符串的匹配。

顺便提一下,你需要在$ names变量上使用mysql_real_escape_string,或者(更好的是)通过mysqli或PDO接口使用预准备语句。