Php что не верно?

php что не верно?
$zapros = mysqli_query($link, 'SELECT * FROM `game` WHERE `username`=$usern AND `password`=$passw');//`````
if ($zapr=mysqli_fetch_array($zapros))
Что тут не верно?
Вылезает
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

  • юзай fetch_assoc();
  • Попробуй в строке запроса одинарные кавычки на двойные поменять. Если память не изменяет, когда переменная идёт в одинарных кавычках, интерпретатор передаёт её имя, а не значение.
    То есть у тебя строка запроса, которую передаёт он на сервер, получается буквально такая: SELECT * FROM `game` WHERE `username`=$usern AND `password`=$passw. Он не подменяет имена переменных на их значения.
    Или, если тебе такие кавычки оставить принципиально, выведи переменные за пределы строки, конкатенацией приклеишь.

    Остальное всё с виду в норме.

    update:
    А вообще попробуй echo'нуть строку запроса, посмотреть, какая она, скопировать её в гуй сервера БД и выполнить там. Посмотри, какие записи вернёт, может, поймешь в чём ошибка. Он тебе, кажись, 0 возвращает вместо резалтсета, вот интерпретатор и воспринимает его как булевоское значение.

  • Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in \ а строка? киньте на почту номер строчки и весь код в целом
    вообще не люблю mysqli_*