2014-02-20 44 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謝謝 –