MySQL:简单的LIKE语句不符合预期的模式

时间:2012-12-08 18:50:50

标签: jquery mysql ajax

我正在使用AJAX执行mysql LIKE查询并使用html显示结果集数据。

从查询返回的结果似乎总是使用存储在searchword变量中的任何内容减去最后一个字符,我不知道为什么。

MySQL: ("SELECT * FROM products WHERE prod_name LIKE '".$searchword."%'")

当searchword var包含'bab'= string(49) "SELECT * FROM products WHERE prod_name LIKE 'ba%'"

时,

var_dump

JQuery / AJAX:

function search(searchword) {      
    $('.smart-suggestions').load('invoice-get-data.php?searchword=' + searchword); 
}   

标记

<input onKeyPress="search(this.value)" type="text" class="prod-name-input"/>

1 个答案:

答案 0 :(得分:3)

问题是onkeypress在文本字段的值更新之前触发。这就是你看到一个字符延迟的原因。要解决此问题,您可以改为使用 onkeyup

<input onKeyUp="search(this.value)" type="text" class="prod-name-input"/>