警告:mysql_fetch_assoc() 期望参数 1 为资源,第 12 行给出的布尔值

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given on line 12

我遇到了这个错误,我找不到布尔值。有人可以帮忙吗?

if(isset($_POST['search_term'])){
    $search_term = mysql_real_escape_string(htmlentities($_POST['search_term']));

    if (!empty($search_term)){
        $search = mysql_query ("SELECT `username` FROM  `users ` WHERE  `users` LIKE '%search_term%'");

        while ($results_row = mysql_fetch_assoc($search)){
            echo '<p>',$results_row['username'],'</p>';
        }
    }
}
?>

您的这部分脚本 '%search_term%' 缺少 $

将其更改为 '%$search_term%'

并删除 table 名称中的 space

`users `
      ^

正如马里奥所说。您将有一个未知的 table 名称。感谢马里奥。

当你在使用它时,切换到 mysqli_ 或 PDO。您最终将不得不切换;它已被弃用,将在以后的 PHP 版本中删除。

同时将 or die(mysql_error()) 添加到 mysql_query() 以捕获错误。