Php 使用两个单独的查询检查数据库中是否存在电子邮件和用户名

Php 使用两个单独的查询检查数据库中是否存在电子邮件和用户名,php,mysqli,phpmyadmin,Php,Mysqli,Phpmyadmin,我试图让我的PHP脚本检查数据库中是否已经存在电子邮件和用户名,如果它们已经存在,则显示消息-最初我只能成功地检查其中一个,但现在我尝试在插入之前检查这两个,我遇到了一些问题 有人能给我一些建议,看看我在这里做错了什么吗 // Check if simple anti-bot test is correct if ($human !== 5) { $errHuman = 'Your anti-spam is incorrect'; } else { if (!$errEmail

我试图让我的PHP脚本检查数据库中是否已经存在电子邮件和用户名,如果它们已经存在,则显示消息-最初我只能成功地检查其中一个,但现在我尝试在插入之前检查这两个,我遇到了一些问题

有人能给我一些建议,看看我在这里做错了什么吗

// Check if simple anti-bot test is correct
if ($human !== 5) {
    $errHuman = 'Your anti-spam is incorrect';
}
else {
    if (!$errEmail && !$errUsername && !$errPassword && !$errPassMatch && !$errHuman) {

        $query1="SELECT email FROM blog_members WHERE email='$email'";
        $query2="SELECT username FROM blog_members WHERE username='$signupusername'";
        $result1=mysqli_query($conn, $query1);
        $result2=mysqli_query($conn, $query2);

        if ($result1 && mysqli_num_rows($result1) >=1) {
            $error = "Email already exists!";
        }else if ($result2 && mysqli_num_rows($result2) >=1 ) {
            $error = "Username already exists!"
        }else {
            $query="INSERT INTO blog_members(username, password, email) VALUES ('$signupusername', '$signuppassword', '$email')";
            $result=mysqli_query($conn, $query);
            ?>
              <script type="text/javascript">
                alert("User created, please login from the homepage!");
                window.location.href = 'http://www.mywebsite.co.uk/index.php#login';
              </script>
            <?php
        }
    }
}
尝试这样做:

$query = mysqli_query("SELECT * FROM blog_members WHERE username='$username' OR email='$email'", $conn);
$result = mysqli_num_rows($query);

if ($result != 0) {
    // What happens if it exists
} else {
    // What happens if it doesn't exist
}

告诉我发生了什么错误或出现了什么问题。

发生了什么?您是否遇到错误?您是否尝试过这样的情况:email='$email'和username='$signupusername',或者如果您完全开放SQL注入,则使用separate if note。由于您使用的是mysqli,请利用和。这也有助于防止令人讨厌的引用问题。@Daniel我知道这个页面不起作用,因为登录页面包含了这个PHP页面。如果我只坚持1,这个网站就可以运行query@aynber我当然知道这一点,谢谢。查询本身似乎就是问题所在,它现在可以工作了。然而,这与你的回答略有不同。