我收到此错误:
警告:mysqli_fetch_assoc()要求参数1为mysqli_result,对象为第14行上的\ Views \ item.view.php
这是一个准备好的声明,它返回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'];
}
Wich给出 致命错误:调用未定义的方法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'];
}
答案 0 :(得分:1)
Welp,我让它与
一起工作$result = $result->get_result();
感谢您的帮助!
答案 1 :(得分:0)
您必须在执行$ result.after
之前设置参数$result->bind_param("i", $id);
你必须设置$ id值..然后你必须运行
$result->execute();
如果您需要更多信息,请查看此链接并获得更清晰的想法.. http://www.w3schools.com/php/php_mysql_prepared_statements.asp