2014-09-03 63 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

你的第一种方法是如何完成的。如果你想要一个用户对象,你必须创建它。我认为没有任何理由会导致效率低下。