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