我的SQL查询有什么问题吗?我总是得到这个错误“警告:mysqli_fetch_assoc()期望参数1是mysqli_result,boolean给出”。希望您能够帮助我。
<?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();
?>
答案 0 :(得分:4)
我假设您使用mysqli中的OO机制连接到数据库,因为您正在使用几乎所有的mysqli命令
但是这里
while($e=mysqli_fetch_assoc($result)){
您已更改为临时函数调用。
改为使用
while($e = $result->fetch_assoc()){
答案 1 :(得分:-1)
如果您的查询有任何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();
对于任何mysql错误。
$mysqli->error;