上得到bind_result()的值上db_handler.php
頁如何另一頁
public function getAllUserList($user_id) {
$stmt = $this->conn->prepare("SELECT list_id,name,date_created FROM list WHERE user_id = ?");
$stmt->bind_param("i", $user_id);
$stmt->execute();
$list = $stmt->bind_result($list_id,$name,$date_created);
$stmt->close();
return $list;
}
上index.php
$result = $db->getAllUserList($user_id);
while ($result->fetch()) {
$tmp = array();
$tmp["id"] = $list_id;
$tmp["list_name"] = $name;
$tmp["createdAt"] = $date_created;
array_push($response["lists"], $tmp);
}
它給
PHP Fatal error: Call to a member function fetch() on a non-object
以前我是用$stmt->get_result()
方法致命錯誤而不是bind_result,但它開始拋出錯誤
PHP Fatal error: Call to undefined method
mysqli_stmt::get_result().
如果我在dbhandler.php
頁面上使用while ($result->fetch())
它工作正常。但它給出了錯誤index.php
試一下這條線'$ stmt-> close();'形成你的代碼! – Saty
在評論$ stmt-> close()後仍然給出同樣的錯誤; – kabir
bind_result()具有bool返回類型,而get_result具有mysqli_result返回類型,這就是爲什麼值可以分配給任何變量,但值不能存儲在bind_result中。這個問題必須有另一種方法。 – kabir