Это не оценивает, даже когда значения должны быть равны, и идет прямо к событию else. Имена столбцов таблицы соответствуют базе данных, поэтому …
Нужны ли какие-то цитаты в ($ recruitcheck == $ recruitpass)?
$recruiter = $_POST["recruiter"];
$recruitpass = $_POST["recruitpass"];
$recruitcheck = mysqli_query($maindb, "select aurapass from auras where auraname='$recruiter'");
if($recruitcheck == $recruitpass) {
$badgecheck = mysqli_query($maindb, "select recruitbadge from auras where auraname='$recruiter'");
if($badgecheck == "0") {
echo "<script>alert('Recruiter information correct, but there is no recruit badge.')</script>";
exit();
} else {
echo "<script>alert('Recruiter badge accepted.')</script>";
$emailcheck = mysqli_query($maindb, "select * from auras where email='$email'");
$namecheck = mysqli_query($maindb, "select * from auras where auraname='$auraname'");
if(mysqli_num_rows($emailcheck) > 0 || mysqli_num_rows($namecheck) > 0){
echo "<script>alert('New auraname/email is already taken.')</script>";
exit();
} else {
exit();
}
}
} else {
echo "<script>alert('Aura information of recruiter is incorrect. Please, use preexisting aura information to confirm recruiter identity.')</script>";
exit();
}
$ recruitpass — это строка, а $ recruitcheck — это mysqli_result объект. Вам нужно получить значение строки внутри объект перед сравнением с $ recruitpass
Других решений пока нет …