在我的网站上,用户名是这样保存的,罗伯特,,,有趣的是,一个人可以注册的名字罗伯特(资本注册)。
我如何防止这些重复的用户名?
我的项目在mysql/php中
if (mysql_num_rows(mysql_query("SELECT username FROM user_table WHERE username='$username'")) > 0){
die("duplicated usernames can't be saved , this username exists.");
}即使有了这段代码,也可以注册。
发布于 2011-03-16 13:09:12
将它们转换为相同的情况,然后进行比较。因此:
SELECT username FROM table WHERE LOWER(username) = LOWER('$username')
发布于 2011-03-16 13:08:42
您应该在username列上添加一个唯一的索引。
另外,您可以在这里找到一些有用的信息:https://stackoverflow.com/search?q=mysql+case+sensitive
发布于 2011-03-16 13:10:19
希望您已经对用户名的用户输入进行了净化,以防止SQL注入,之后,在检查用户名是否重复或将名称插入数据库之前,请使用PHP来LC用户名:
$username = strtolower($username);
if (mysql_num_rows(mysql_query("SELECT username FROM user_table WHERE username='$username'")) > 0){
die("duplicated usernames can't be saved , this username exists.");
}https://stackoverflow.com/questions/5325686
复制相似问题