bindValue('user_id', $userId); $createSession->bindValue('session_ip', $ipAddress); $createSession->bindValue('session_country', get_country_code($ipAddress)); $createSession->bindValue('user_agent', $userAgent); $createSession->bindValue('session_key', $sessionKey); return $createSession->execute() ? $sessionKey : ''; } function user_session_delete(int $sessionId): bool { $deleteSession = Database::prepare(' DELETE FROM `msz_sessions` WHERE `session_id` = :session_id '); $deleteSession->bindValue('session_id', $sessionId); return $deleteSession->execute(); } function user_session_generate_key(): string { return bin2hex(random_bytes(MSZ_SESSION_KEY_SIZE / 2)); }