Php 使用两个单独的查询检查数据库中是否存在电子邮件和用户名
我试图让我的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
// 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我当然知道这一点,谢谢。查询本身似乎就是问题所在,它现在可以工作了。然而,这与你的回答略有不同。