警告: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();
我收到这个错误:
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();