title: MySQL Function - Error Code: 1415 Not allowed to return a result set from a function
body: <p>I am not trying to return a result set and I have no idea what I'm doing wrong here.
  MySQL 5.5</p>
  
  <pre><code>delimiter $$
  
  CREATE FUNCTION CheckAccount(
      i_username varchar(50)
  ) RETURNS integer
  
  BEGIN
  
      DECLARE v_validUserId int;
      DECLARE v_validMembership int;
      DECLARE o_Status integer;
  
      SELECT vvalidUserId = u.UserId
      FROM Users u
      WHERE u.Username = i_username;
  
      IF( v_validUserId IS NULL ) THEN
          SET o_Status = 2; -- Invalid username
      ELSE
          SET o_Status = 1; -- Good
      END IF;
  
  
      IF(o_Status != 2 ) THEN
              SELECT v_validMembership = 1
              FROM Users u
              JOIN UserMemberships um on um.UserId = u.userId
              JOIN Memberships m on m.MembershipId = um.MembershipId
              WHERE um.MembershipExpireDateTime &gt; CURDATE()
              AND u.UserId = v_validUserId;
  
              IF( v_validMembership IS NULL ) THEN 
                  SET o_Status = 3; -- Invalid membership
              END IF;
      END IF;
  
      RETURN o_status;
  
  END $$
  DELIMITER ;
  </code></pre>
  
  <p>Any help will be greatly appreciated!</p>