Ошибка MYSQL: предупреждение: mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result, boolean given

Что-то не так с моим sql-запросом? Я всегда получаю эту ошибку "Warning: mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result, boolean given". Надеюсь, ты поможешь мне.

<?php include("connection.php"); $mysqli->query("SET NAMES 'utf8'"); $filter = "All"; if ($filter == "All"){ $sql="SELECT * FROM city "; }else if($filter == "Alphabetically"){ $sql="SELECT * FROM city order by cityName ASC"; }else if ($filter == "Region"){ $sql="SELECT * FROM city order by region"; }else{ echo "Error sql"; } $result=$mysqli->query($sql); while($e=mysqli_fetch_assoc($result)){ $output[]=$e; } print(json_encode($output)); $mysqli->close(); ?> 

Related of "Ошибка MYSQL: предупреждение: mysqli_fetch_assoc () ожидает, что параметр 1 будет mysqli_result, boolean given"

Я предполагаю, что вы подключаетесь к базе данных с помощью механизма OO в mysqli, так как это то, что вы используете почти для всех ваших команд mysqli

Но здесь

 while($e=mysqli_fetch_assoc($result)){ 

вы изменили на вызовы функции функции.

Вместо этого используйте

 while($e = $result->fetch_assoc()){ 

Если ваш запрос имеет какую-либо ошибку sql или возвращает 0 строк. Поэтому сначала проверьте число num_row

 $result=$mysqli->query($sql); if(mysqli_num_rows($result) > 0 ){ while($e=mysqli_fetch_assoc($result)){ $output[]=$e; } } print(json_encode($output)); $mysqli->close(); в $result=$mysqli->query($sql); if(mysqli_num_rows($result) > 0 ){ while($e=mysqli_fetch_assoc($result)){ $output[]=$e; } } print(json_encode($output)); $mysqli->close(); 

Для любой ошибки mysql.

  $mysqli->error;