数据库中的jquery自动完成显示没有结果

时间:2013-05-05 21:51:22

标签: jquery database autocomplete

我使用以下代码从数据库中获取jquery自动完成值:

$( ".ui-widget" ).autocomplete({
        source: "search.php",
        minLength: 2
    });

search.php包含以下内容。

<?php
$mysqli = new mysqli('localhost', 'airports2', '*******', 'airports2');
$text = $mysqli->real_escape_string($_GET['term']);
$query = "SELECT airport FROM airports WHERE airport LIKE '%$text%' ORDER BY airport 

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;
?>

当我输入一个搜索词(与数据库条目匹配)时,我可以看到一个小的空格,没有任何结果,因为我找不到任何结果。

提前多多感谢,

S上。

2 个答案:

答案 0 :(得分:0)

试试这个

$result = $mysqli->query($query);
$json = $result->fetch_all(MYSQLI_ASSOC);
echo json_encode($json);

答案 1 :(得分:0)

PHP中的连接需要.运算符。

$query = "SELECT airport FROM airports WHERE airport LIKE '%" . $text . "%' ORDER BY airport