我有这个方法来检查数据库中是否存在用户名:
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!';
}
然而,这不起作用,因为它告诉我我尝试的每个用户名都已存在。我不认为我的回报写得正确..任何想法??
答案 0 :(得分:2)
如果找不到电子邮件,则您不会返回任何内容,因此checkUsername
会在这种情况下返回null
。
$users->checkUsername($_POST['email'])
始终为empty
或null
。
尝试 -
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'])){
尝试实现一些安全性来输入数据。