检查数据库中是否存在用户名[不工作]

e0bqpujr  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(269)

这个问题在这里已经有答案了

在mysql中何时使用单引号、双引号和反引号(13个答案)
如何显示mysqli查询的错误[重复](2个答案)
如何检查mysql中是否存在行(i、 e.检查mysql中是否有邮件(4个答案)
两年前关门了。
我有这个代码来检查用户名是否存在于数据库中,否则插入到数据库中。但是,它仍然会插入到数据库中。

$username = $_POST['user_name'];

if (isset($_POST['user_email'])){  
    $sql="select user_name, user_email from user_credintals where user_name = $username";
    $result = $db->query($sql);
    if($result->num_rows > 1){
        echo"name already exists";
    }else{
        $sql = "INSERT INTO
            user_credintals(user_name, user_password, user_email , user_level)
            VALUES('" . $db->real_escape_string($_POST['user_name']) . "',
               '" . $db->real_escape_string(sha1($_POST['user_password'])) . "',
               '" . $db->real_escape_string($_POST['user_email']) . "',
                0)";

        $result = $db->query($sql);
        if(!$result){
            echo 'Failed to register user, try again!';
        }
    }
iqih9akk

iqih9akk1#

您正在检查行数是否大于1。所以这里我不算。你需要检查一下 if($result->num_rows >= 1){ 等于或大于的意思。

相关问题