首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止php/mysql中具有不区分大小写行为的重复用户名。

问防止php/mysql中具有不区分大小写行为的重复用户名。
EN

Stack Overflow用户
提问于 2011-03-16 13:05:11
回答 4查看 607关注 0票数 1

在我的网站上,用户名是这样保存的,罗伯特,,,有趣的是,一个人可以注册的名字罗伯特(资本注册)。

我如何防止这些重复的用户名?

我的项目在mysql/php中

代码语言:javascript
复制
  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.");
  }

即使有了这段代码,也可以注册。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-16 13:09:12

将它们转换为相同的情况,然后进行比较。因此:

SELECT username FROM table WHERE LOWER(username) = LOWER('$username')

票数 2
EN

Stack Overflow用户

发布于 2011-03-16 13:08:42

您应该在username列上添加一个唯一的索引。

另外,您可以在这里找到一些有用的信息:https://stackoverflow.com/search?q=mysql+case+sensitive

票数 3
EN

Stack Overflow用户

发布于 2011-03-16 13:10:19

希望您已经对用户名的用户输入进行了净化,以防止SQL注入,之后,在检查用户名是否重复或将名称插入数据库之前,请使用PHP来LC用户名:

代码语言:javascript
复制
$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.");
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5325686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档