2014-09-03 115 views
-1

我試圖獲取一個用戶對象並將其返回。PHP PDO獲取對象

<?php 
class User { 
    private $id; 
    private $username; 
    private $email; 

    function __construct($id, $username, $email) { 
     $this->id = $id; 
     $this->username = $username; 
     $this->email = $email; 
    } 

    function getId() { 
     return $this->id; 
    } 

    function getUsername() { 
     return $this->username; 
    } 

    function getEmail() { 
     return $this->email; 
    } 
} 

這工作,但似乎效率不高(是嗎?):

$user = $stmt->fetch(PDO::FETCH_ASSOC); 
$result = new User($user['id'], $user['username'], $user['email']); 
return $result; 

這給我的錯誤:

$user = $stmt->fetchObject('User'); 
return $user; 

我在做什麼錯?

+0

使用'PDO :: FETCH_OBJ' – davidxd33 2014-09-03 17:52:47

+0

什麼是'錯誤? PDO不會返回一個'User'對象,它將以對象的形式返回數據,也就是說,每個列名都是成員,值被設置爲數據值。 – user3791372 2014-09-03 17:53:18

回答

0

你的第一種方法是如何完成的。如果你想要一個用戶對象,你必須創建它。我認爲沒有任何理由會導致效率低下。