我正在尝试将数据库结果返回到数组。使用fetch时,它只返回数组中的最后一项。
如果我写$ result [$ this-> topic]。= $ a而不是$ result [$ this-> topic] = $ a,数组会返回所有项目,但只返回一个字符串。
我的数据库类中的函数,带有while循环:
public function GetTopic($stmt) {
if ($stmt->execute() == false) {
throw new Exception($this->mysqli->error);
}
$stmt->bind_result($a);
$result = array();
while ($stmt->fetch()) {
$result[$this->topic] = $a;
}
$stmt->close();
var_dump($result);
return $result;
}
我的Handler类中的函数,我从数据库类调用函数:
public function GetTopics() {
$query = "SELECT Topic FROM question";
$stmt = $this->db->Prepare($query);
$result = $this->db->GetTopic($stmt);
return $result;
}
我也尝试过使用num_rows和store_result而不是fetch,这也不起作用。任何帮助表示赞赏。
答案 0 :(得分:2)
$result[$this->topic][] = $a;