2014-02-20 38 views
0

当我将fetchAll()查询结果(SELECT * FROM users ...)作为一个对象数组时,我希望这些对象是某个类的,即UserPDO :: FETCH_OBJ +自定义类?

  1. 如何强制PDO使用的数据类型为User结果对象,并
  2. 我必须定义对应于类中的字段名所有成员变量?

回答

1

有一个静态字段告诉PDO取得一个类,PDO::FETCH_CLASS

下面是获取User对象的示例;

class User { 
    public $name; 
    public $firstname; 
} 

您必须确保字段名称与列字段名称相同,并且可以从您正在使用的类/文件访问该类。 (SELECT *工作过,只是有可用的所有字段)

$query = "SELECT name, firstname FROM users"; 

而且把它包在课堂上,请使用下,

$users = $sth->fetchAll(PDO::FETCH_CLASS, "User"); 

然后,你可以简单地访问它User对象的数组。

+0

哇,它有多简单:D谢谢 –