What are potential pitfalls or common mistakes when storing database query results in session variables in PHP?

Storing large database query results in session variables can lead to performance issues and high memory usage. It is recommended to store only necessary information in session variables and avoid storing entire query results. Instead, store only identifiers or keys in session variables and retrieve the data from the database when needed.

// Store only necessary information in session variables
$_SESSION['user_id'] = $user_id;

// Retrieve data from the database when needed
$query = "SELECT * FROM users WHERE id = :user_id";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':user_id', $_SESSION['user_id']);
$stmt->execute();
$user = $stmt->fetch();