如何使Mysql查询不区分大小写?

问题描述 投票:0回答:2

我有包含[用户名,电子邮件]的表,正在检查它们是否重复其中的任何一个,

但是区分大小写,因此,如果有一个用户,其用户名是“ SelvsterTP”,则如果其他用户键入了该用户,则他将无法注册,但是例如,如果键入“ selvstertp”,则不会遇到任何错误! ,

[我想增加一个名为'UsernameCheck'的列,然后将用户名'lowercase'上传到该列,然后检查该列(与Email相同,]

但是在我看来,这种情况不是最好的代码,所以有什么想法或建议吗?

原代码

$CheckusernameRow = 
RowCountDB("Id","users","Username",$Username); //function   
to get rows

我的想法

 $CheckusernameRow = 
 RowCountDB("Id","users","UsernameCheck",strtolower($Username));
php mysql
2个回答
0
投票

在该列中创建另一个名为usernameHashmd5()的用户名

[当您需要检查用户名时,"select * from my_table where usernameHash = '".md5($username)."'"可以正常工作


0
投票

您是否尝试过LOWER()选择器?

$lowerUsername = strtolower($Username);
$query = "SELECT id FROM users WHERE LOWER(Username) LIKE '$lowerUsername'";
© www.soinside.com 2019 - 2024. All rights reserved.