在会员表中有个 username 字段,支持中文。
现在需要检测用户是否存在,代码如下
`if($has == true){
//调用前请使用 $db 实例化 mysql 类
$array = $db->getArray("SELECT * FROM `" . DB_PREFIX . "admin` WHERE `username` LIKE '$username' LIMIT 1;");
if(is_array($array))
{
return "用户名 " . $username . " 已经存在!";
}
else
{
return 'ok';
}
}
else
{
return 'ok';
} `
代码中的 where username
LIKE '$username' 合适吗,使用 where username
= '$username' 有区别吗, $username 可能是中文。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
当然是等于,加`是用在保留字上
用like注意做好自定义过滤,万一有人传一个%hello%的字符窜进去,等于变相正则查询了, mysql escape对这种没用的
LIKE是部分匹配,如果是检测用户名存在就可以用=操作符的