仅获取对象返回1个值

时间:2012-11-19 10:20:14

标签: php pdo

嗨大家我在抓取对象时遇到问题,请参阅下面的代码。

表动物

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

Animal.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,但仍然没有用。

2 个答案:

答案 0 :(得分:3)

fetch_object一行行作为对象返回。如果你想获得所有这些,你必须在循环中调用它,否则使用另一个返回结果集中所有行的方法(如果你使用的是mysqli,那就是fetch_all )。

答案 1 :(得分:1)

  

您使用的是PDO吗?

     

使用fetchAll()代替fetch_object。