警告:mysqli_fetch_assoc() 期望参数 1 为 mysqli_result,给定对象

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, object given

我收到这个错误:

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, object given \Views\item.view.php on line 14

这是一条准备好的语句,returns 1 行。但是,我无法从中获取任何数据。我在这里尝试了很多来自其他问题的解决方案,但它们没有用。感觉少了点什么

这是item.php

的一部分
$id = $_GET['id'];
$data = $item->getItem($id);
require 'Views/item.view.php';

这是item.class.php

public function getItem($id){
        include('/../config.php'); //contains the $mysqli
        
        $result = $mysqli->prepare("SELECT * FROM item WHERE id = ?") ;

        $result->bind_param("i", $id);

        $result->execute();
        
        
        if (!$result ) {
            return false;
        }
        return $result;
        
    }

和视图

$row = mysqli_fetch_assoc($data);
                        $row['title'];

编辑:我也试过

while($post = $data->fetch_assoc()){ 

   $post['title'];
}

这给出了 致命错误:调用未定义的方法 mysqli_stmt::fetch_assoc()

config.php其中包含,参数隐藏

$mysqli = new mysqli(adress, username, password, "trp");

EDIT2:item.class.php 中的这种方法有效

   public function getItems(){

    include('/../config.php');
    
    $sql ="SELECT * FROM item";
    $result = $mysqli->query($sql);
    
    if (!$result ) {
        return false;
    }
    return $result;

}

在视图中

while($post = $data->fetch_assoc()){ 
$post['id']
}

编辑: 得到了

$result = $result->get_result();

并在视图中

    while($post = $data->fetch_assoc()){ 

        echo $post['subject'];
}

执行$result.after

前必须设置参数
$result->bind_param("i", $id);

您必须设置 $id 值..然后您必须 运行

$result->execute();

如果您需要更多 info.please 检查此 link 并获得更清晰的想法.. http://www.w3schools.com/php/php_mysql_prepared_statements.asp

我可以使用它

$result = $result->get_result();