English 中文(简体)
php-mysql-jquery AJAX自动完成区分大小写
原标题:php mysql jquery AJAX autocomplete case sensitivity

在我的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 ];
}

检查匹配情况并运行良好。

但假设我的表有一个名称Alfred,只有当我键入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_sescape_string,或者(更好的是)通过mysqli或PDO接口使用准备好的语句。





相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签