从类函数打印变量

时间:2013-08-05 23:26:11

标签: php

我有一个函数可以检索用户信息并将其存储在类中的变量中:

    public function UserInformation() {
        $query = "SELECT * FROM users WHERE username = '$this->user'";
        try {
            $stmt = $this->db->prepare($query); 
            $stmt->execute(); 
        }
        catch(PDOException $ex) 
        { 
            die("Failed to run query: " . $ex->getMessage()); 
        } 
        $rows = $stmt->fetch();
        $email = $rows['email'];
        $username = $rows['username'];
    }

然后我如何显示该函数的单个变量?我试过echo $retrieveInfo->UserInformation->username;没有成功,我该怎么做?

1 个答案:

答案 0 :(得分:1)

您已经定义了局部变量,一旦函数结束执行就会丢失。

执行所需操作的更正确方法是从函数返回数据,如:

$rows = $stmt->fetch();
return $rows;

并调用类似

的方法
$rows = $yourObject->UserInformation();

或者,如果对象代表特定用户,则可以将检索到的数据存储在实例成员中,如:

$this->email = $rows['email'];

然后访问它们

$yourObject->email

这也可行,而前者是我更喜欢的(虽然我不知道整个任务)