1

データベースの結果を配列に戻そうとしています。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を使用してみましたが、どちらも機能しません。どんな助けでも大歓迎です。

4

1 に答える 1

2
$result[$this->topic][] = $a;
于 2012-10-19T16:47:24.683 に答える