0

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

    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;没有成功,我该怎么做?

4

1 回答 1

1

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

做你想做的更正确的方法是从函数返回数据,如:

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

并调用类似的方法

$rows = $yourObject->UserInformation();

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

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

然后访问它们

$yourObject->email

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

于 2013-08-05T23:28:22.170 回答