私は名前や電子メール、ユーザー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つのフィールドをすべて選択して関連するデータを取得するためのクエリを1回実行する方法はありますか?
通常、データベースのオブジェクトモデルを使用する場合は、1回のクエリで1回ロードし、フィールドをメモリに保持します。 – apokryfos