我如何与其他人创建SQL和PHP IF语句

时间:2019-05-16 08:57:48

标签: php sql

我创建了一个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>";
        }
    }

我只需要它检查是否存储了用户名(电子邮件地址),并返回用户名已被使用,或者是否尚未将用户名插入数据库中。

2 个答案:

答案 0 :(得分:0)

如果未使用电子邮件,则显示错误(此电子邮件没有用户) if (mysqli_num_rows($res_e) == 0) {

答案 1 :(得分:0)

感谢您的评论,我注意到我缺少一行代码:

$rws = $res_e->fetch_assoc();

然后我将if语句更改为:

if ($rws == FALSE )

这解决了我的问题。 再次感谢。