0

こんにちは、オブジェクトのフェッチに問題があります。以下のコードを参照してください。

テーブルアニマル

-----------------------
id   |   type    | name
-----------------------
1      Cat         Muning
2      Kookaburra  Bruce
3      Dog         Bruce
-----------------------

アニマル.php

class Animal extends DatabaseObject{

static $db_fields;
static $table_name = 'animals';

public function animal_group(){
global $database;

$sql = "SELECT animal_name as ani_name, COUNT(animal_name) as quantity FROM " . static::$table_name . " GROUP BY animal_name";


$stmt = $database->query($sql);
return $result = $database->fetch_object($stmt);
}

}

$animal = new Animal();

index.php

<?php
require_once('includes/database.php');
require_once('includes/animal.php');
$ani = $animal->animal_group();

echo $ani->ani_name . " - " . $ani->quantity;
?>

結果

Bruce - 2

あるべき姿

Bruce - 2
Muning - 1

While と Foreach も試しましたが、まだ機能しませんでした。

4

2 に答える 2

3

fetch_object1行をオブジェクトとして返します。それらすべてを取得したい場合は、ループで呼び出すか、結果セットからすべての行を返す別のメソッドを使用する必要があります ( を使用している場合はmysqliになりますfetch_all)。

于 2012-11-19T10:22:33.937 に答える
1

PDOを使用していますか?

fetch_object の代わりに fetchAll() を使用します。

于 2012-11-19T10:24:09.283 に答える