我创建了一个if语句来检查用户名是否存储在SQL数据库中,我不确定为什么在检查数据库时总是发现已经插入了一个用户名,即使数据库可以为空
我尝试了if语句的各种变体,但运气不高。
<?php
if(isset($_POST['save'])){
include 'includes/config.php';
$fname = $_POST['fname'];
$pass = $_POST['pass'];
$gender = $_POST['gender'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$location = $_POST['location'];
$check = "SELECT email FROM client WHERE email = '$email'";
$res_e = mysqli_query($db, $check);
if (mysqli_num_rows($res_e) == 0) {
echo "<script type = \"text/javascript\">
alert(\"Sorry... username already taken.\");
window.location = (\"signup.php\")
</script>";
} else {
$qry = "INSERT INTO `client`
VALUES('NULL','$fname','$email','$pass','$phone','$location','$gender',
'NULL', 'NULL', 'NULL', 'NULL', 'NULL', 'NULL', 'NULL', 'NULL', 'NULL')";
$result = $conn->query($qry);
echo "<script type = \"text/javascript\">
alert(\"Successfully Registered. Proceed to Login.\");
window.location = (\"account.php\")
</script>";
}
}
我只需要它检查是否存储了用户名(电子邮件地址),并返回用户名已被使用,或者是否尚未将用户名插入数据库中。
答案 0 :(得分:0)
如果未使用电子邮件,则显示错误(此电子邮件没有用户)
if (mysqli_num_rows($res_e) == 0) {
答案 1 :(得分:0)
感谢您的评论,我注意到我缺少一行代码:
$rws = $res_e->fetch_assoc();
然后我将if语句更改为:
if ($rws == FALSE )
这解决了我的问题。 再次感谢。