Выходит ошибка mysqli_fetch_array уже не знаю как ее решить

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, object given in on line 17

Вот код :

    function is_user_set($username){
        global $db;
        $username = mysqli_real_escape_string($db,$username);
        $result = mysqli_query($db,"SELECT * FROM `users` WHERE name=`$username` LIMIT 1");
        if(mysqli_fetch_array($db,$result) !==false) return true;
        return false;
    }

Ответы (2 шт):

Автор решения: Node_pro

Ссылка на подключенную базу данных нужна только в запросе. В mysqli_fetch_array - отвечает за извлечение данных. Подробнее тут mysqli_fetch_array.

  function is_user_set($username){
        global $db;
        $username = mysqli_real_escape_string($db,$username);
        $result = mysqli_query($db,"SELECT * FROM `users` WHERE name=`$username` LIMIT 1");
        return $result && (bool)mysqli_fetch_array($result)
    }

Кстати, если Вам нужно узнать, есть ли такой пользователь или нет, достаточно использовать COUNT(*) и mysql_fetch_row.

 function is_user_set($username){
    global $db;

    $username = mysqli_real_escape_string($db,$username);
    $result = mysqli_query($db,"SELECT COUNT(*) FROM `users` WHERE name=`$username` LIMIT 1");
  
    if($result === FALSE){ 
       // Error msg;
       return null;
    }
    $result = mysqli_fetch_row($result);

   return $result[0]>0;
}
→ Ссылка
Автор решения: uberchel

Присоединяюсь к выше написавшим и дополняю от себя: У вас там, А - неверные ковычки в запросе. Б - Нет проверки на результат запроса.

 function is_user_set($username){
    global $db;
    if (isset($username)) {
        $username = mysqli_real_escape_string($db,$username);
        $result = mysqli_query($db,"SELECT COUNT(id) AS id FROM `users` WHERE name='{$username}' LIMIT 1");
        return boolval(mysqli_num_rows($result) != 0);
    }
    return false;
}
→ Ссылка