方法检查数据库中是否存在用户名


Method to check if username exists in database

我有这个方法来检查数据库中是否存在一个用户名:

public function checkUsername($username) 
{
    global $wpdb;
    $result = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}users WHERE con_username =".$username);
    if(!empty($result)){
        return false;
    }
}

然后像这样检查用户名:

if(!$users->checkUsername($_POST['email'])){
        $error++;
        $error_msg[]='Email already exists!';
    }

然而,这不是工作,因为它告诉我,我尝试的每个用户名已经存在。我想我的申报表写错了。有什么想法?

如果找不到电子邮件,则不返回任何内容,因此在这种情况下checkUsername将返回null

$users->checkUsername($_POST['email'])总是emptynull

Try with -

return empty($result);

函数应该是-

public function checkUsername($username) 
{
    global $wpdb;
    $result = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}users WHERE con_username ='".$username."'");
    return empty($result);
}

和check -

if(!$users->checkUsername($_POST['email'])){

并尝试实现一些安全输入数据