JQuery从数据库自动完成表单失败


JQuery Autocomplete Form from Database fails

我正在学习一个教程(http://www.pontikis.net/blog/jquery-ui-autocomplete-step-by-step)我尝试这样做,但使用本地phpmyadmin数据库,使用安装在我电脑上的Xampp。

我有一个名为cars的表,列为idname,我填写了2个条目,然而,自动完成不起作用,事实上,我在表单下面没有得到任何建议。由于我不能用所有的JS文件来打扰你,也许有人可以解释它的确切作用,尤其是最后一个while函数,因为我认为问题就在这里:

$sql = 'SELECT id, name FROM cars';
for($i = 0; $i < $p; $i++) {
  $sql .= ' AND name LIKE ' . "'%" . $conn->real_escape_string($parts[$i]) . "%'";
}

while($row = $rs->fetch_assoc()) {
  $a_json_row["id"] = $row['id'];
  $a_json_row["value"] = $row['name'];
  $a_json_row["label"] = $row['name'];
  array_push($a_json, $a_json_row);
}

您没有在SQL语句中声明WHERE。查询可能失败,没有自动完成选项。

$sql = 'SELECT id, name FROM cars';
for($i = 0; $i < $p; $i++) {
  if ($i == 0){ $sql.= " WHERE"; } // THIS LINE HERE
  $sql .= ' AND name LIKE ' . "'%" . $conn->real_escape_string($parts[$i]) . "%'";
}

我的解决方案:

while($cars=mysql_fetch_array($query)){
         $json[]=array(
                    'value'=>$cars["name"],
                    'label'=>$cars["name"]
                        );
    }
 echo json_encode($json);