对象集合

1 php mysql object

我正在创建一个类,需要向我提供MySQL表"内容"中的所有数据.

我希望将我的数据作为对象返回.到目前为止,我设法返回一个对象,但我想获得一个对象集合,返回数据库中的所有行.

<?
class ContentItem {
public $id;
public $title;
public $subtitle;
public $conent;
public $intro_length;
public $active;
public $start_date;
public $end_date;
public $views;

static function getContentItems() {     
    $query = "SELECT * FROM content";

    $result = mysql_query($query)or die(mysql_error());
    $item = new ContentItem(); 
    while ($data = mysql_fetch_object($result)) {
          $item = $data;                            
    } 
    return $item;           
  }
}
Run Code Online (Sandbox Code Playgroud)

Ond*_*ták 5

对于集合,您需要创建一个实现Iterator接口的对象.你可以用数组,对象或任何你想要的东西填充它.Iterator确保您可以在foreach循环之后使用此集合.

此外,您的代码中存在错误.你$item一遍又一遍地覆盖.您应该创建一个数组(或者已经实现的对象Iterator,如我所提到的),它将在每个while循环中填充(正如tandu已经写过的那样).