更新while循环到mysqli

时间:2012-09-17 08:36:39

标签: php mysql html loops mysqli

大家好我有以下问题要解决。我有一个autosuggest搜索字段。我想更新我的代码从使用mysql到mysqli。这就是为什么我有这个代码($ db = mysqli):

if (isset($_POST['search_term']) == true && empty($_POST['search_term']) == false) {

    $search_term = $db->real_escape_string(htmlentities(trim($_POST['search_term'])));

    $search_term_query = "SELECT `a` FROM `b` LIKE '$search_term%'";
    $result_search_query = $db->query($search_term_query);

    while (($row = $result_search_query->fetch_assoc()) !== false) {

        echo '<li>', $row['a'], '</li>';
    }

}

出于某种原因我得到了:

  

在非对象

上调用成员函数fetch_assoc()

那么对象的问题在哪里?如果有人可以帮助我,我真的很感激。非常感谢。

1 个答案:

答案 0 :(得分:1)

这意味着$ result_search_query不是您期望的对象。可能的原因:

  1. 连接无法访问数据库
  2. 查询执行失败
  3. 请查看http://php.net/manual/en/mysqli-result.fetch-assoc.phphttp://www.php.net/manual/en/mysqli.query.php中的示例。它应该告诉你如何捕获错误。