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

时间:2015-07-14 08:11:23

标签: php mysql wordpress

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

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!';
    }

然而,这不起作用,因为它告诉我我尝试的每个用户名都已存在。我不认为我的回报写得正确..任何想法??

1 个答案:

答案 0 :(得分:2)

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

$users->checkUsername($_POST['email'])始终为emptynull

尝试 -

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);

}

并检查 -

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

尝试实现一些安全性来输入数据。