データベースの結果を配列に戻そうとしています。fetchを使用すると、配列の最後の項目のみが返されます。
$ result [$ this-> topic] =$aの代わりに$result[$this->topic]。=$aと書くと、配列は1つの文字列だけを除いてすべての項目を返します。
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;
}
また、fetchの代わりにnum_rowsとstore_resultを使用してみましたが、どちらも機能しません。どんな助けでも大歓迎です。