【问题标题】:Autocomplete with MySQL使用 MySQL 自动完成
【发布时间】:2016-02-27 10:40:06
【问题描述】:

您好,我对 JSON 数据的类型有疑问。

ERROR: Uncaught TypeError: Cannot use 'in' operator to search 'length' in 4444

444 - 这是我发送回 jquery 的数据。

这是我的代码:

查询:

$('.autocomplete').autocomplete({
    minLength:1,
    source: 'http://localhost/instaling/autocomplete.php',
    select:function(evt, ui)
    {
      this.form.city.value = ui.item.german;
    }
});

PHP:

$searchWord = trim(strip_tags($_GET['term']));

$select = mysql_query("SELECT * FROM `words` WHERE `polish` LIKE '%$searchWord%'");

while ($row = mysql_fetch_array($select)) {
  $german = $row['german'];    
}

echo json_encode($german);

代码有什么问题?我在 php 中使用编码将数据作为 JSON 发送到 jquery。

【问题讨论】:

标签: javascript php jquery mysql autocomplete


【解决方案1】:
    define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'test');
require_once "inc/db.php";
if (isset($_GET['term'])){
$term=$_GET['term'];
    $return_arr = array();
    try {
        $conn = new PDO("mysql:host=".DB_SERVER.";dbname=".DB_NAME, DB_USER, DB_PASSWORD);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $stmt = $conn->prepare("SELECT * FROM `words` WHERE `polish` LIKE '%$searchWord%'");       
       $stmt->execute(array('term' => '%'.$_GET['term'].'%'));
        while($row = $stmt->fetch()) {
            $return_arr[] =  $row['german'];
        }
    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }
    /* Toss back results as json encoded array. */
    echo json_encode($return_arr);
}

【讨论】:

  • $return_arr[] = $row['german'];这就是我要找的。谢谢你:)
猜你喜欢
  • 2018-07-13
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多