Вы начали с правильного пути с этим кодом:
$user_check_query = "SELECT * FROM refer WHERE partnerCode='$partnerCode' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);
Что вам действительно нужно, так это получить строку, принадлежащую пользователю, а не партнеру.Итак, ваш запрос должен быть:
$user_check_query = "SELECT partnerCode1 FROM refer WHERE randomField='".$_SESSION['username']."' LIMIT 1";
Как только вы получите строку $ user ...
if(empty($user['partnerCode1']))
Если это правда, вставьте partnerCode в partnerCode1.Иначе, вставьте его в partnerCode2.
Кроме того, нет необходимости извлекать строку, чтобы проверить, есть ли ошибка.Таким образом, весь этот код должен следовать после оператора if, который проверяет наличие ошибок.