我有这种方法检查数据库中是否存在用户名:
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'])
将始终为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'])){
并尝试实现一些安全性以输入数据。