This question already has an answer here:
Is there anything wrong with my sql query ? I always get this error "Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given". Hope you can help me.
<?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();
?>
If your query have any sql error or its returning 0 rows. So check first num_row count
For any mysql error.
I assume you are connecting to the database using the OO mechanism in mysqli as that is what you are using for almost all your mysqli commands
But here
you have changed to the proceedural function calls.
Instead use