2015-12-12 85 views
-4

我的sql查询有什么问题吗?我总是得到这个错误“警告:mysqli_fetch_assoc()期望参数1是mysqli_result,布尔给定”。希望您能够帮助我。MYSQL错误:警告:mysqli_fetch_assoc()期望参数1是mysqli_result,布尔给定

<?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

显示你的'connection.php'的内容 – RiggsFolly

回答

-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; 
4

我假设你正在使用的mysqli作为二OO机制连接到数据库是你所使用的几乎所有的mysqli命令

但这里

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

你已经改变到处理函数调用。

而是使用

while($e = $result->fetch_assoc()){ 
相关问题