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接口使用预准备语句。