1

大家好,我有以下问题要解决。我有一个自动建议搜索字段。我想将我的代码从使用 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()

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

4

1 回答 1

1

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

  1. 与数据库的连接失败
  2. 查询执行失败

请查看http://php.net/manual/en/mysqli-result.fetch-assoc.phphttp://www.php.net/manual/en/mysqli.query.php中的示例。它应该向您展示如何捕获错误。

于 2012-09-17T08:48:00.833 回答