PHP的-jQuery的自动完成和MySQL的问题
作者:互联网
search.php
$text = $mysqli->$_POST['term'];
$query = "SELECT name FROM males WHERE name LIKE '%" . $text . "%' ORDER BY name ASC";
$result = $mysqli->query($query);
$json = '[';
$first = true;
while($row = $result->fetch_assoc())
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$row['name'].'"}';
}
$json .= ']';
echo $json;
index.php
1)HTML
<body>
Text: <input type="text" id="autocomplete" />
</body>
2)jQuery的
$( "#autocomplete" ).autocomplete({
source: function(request, response) {
$.ajax({ url: "http://localhost/testing/auto/search.php",
data: { term: $("#autocomplete").val()},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 2
});
当我输入2个字母时,即使这两个字母与任何一个名称都不匹配,它也会为我提供数据库中的所有名称.
这是如何发生的,我该如何解决?
解决方法:
看来我的评论可以作为答案,因此也可以作为答案.
$mysqli-> $_ POST [‘term’]会做什么?我认为您应该有$text = $_POST [‘term’];.这应该工作.
标签:jquery-ui,autocomplete,mysql,php,jquery 来源: https://codeday.me/bug/20191208/2090450.html