我有一个函数,它检索用户信息并将其存储在类中的变量中:
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;
,但没有成功,我该怎么做?
您已经定义了局部变量,一旦函数结束执行,这些变量就会丢失。
做你想做的事情的更正确的方法是从函数返回数据,比如:
$rows = $stmt->fetch();
return $rows;
并调用类似的方法
$rows = $yourObject->UserInformation();
或者,如果对象代表一个特定的用户,您可以将检索到的数据存储在实例成员中,例如:
$this->email = $rows['email'];
然后访问它们
$yourObject->email
这也可以,而前者是我更喜欢的(尽管我不知道整个任务)