我有我的用户类以下功能来获得用户ID,姓名和电子邮件:在PHP中扩展对方的功能更有效率?
public function getUserID(){
$stmt = $this->conn->prepare("SELECT userID FROM [DataBase].[dbo].[users] WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$userID=$stmt->fetch(PDO::FETCH_ASSOC);
echo $userID['userID'];
}
public function getUserName(){
$stmt = $this->conn->prepare("SELECT userName FROM [DataBase].[dbo].[users] WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$userName=$stmt->fetch(PDO::FETCH_ASSOC);
echo $userName['userName'];
}
public function getUserEmail(){
$stmt = $this->conn->prepare("SELECT userEmail FROM [DataBase].[dbo].[users] WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$userEmail=$stmt->fetch(PDO::FETCH_ASSOC);
echo $userEmail['userEmail'];
}
但我只是觉得会有一个更好的方式来做到这一点,因为它似乎浪费资源做3几乎相同的查询。
有没有办法可以做一次查询来选择所有3个字段,并有一个函数来获取相关数据?然后
$user = new User($_SESSION["userSession"], $this->conn);
你甚至:
通常,当您从数据库中获取对象模型时,只需使用一个查询加载它一次,并将这些字段保留在内存中。 – apokryfos