匹配单词的任何组合

时间:2014-05-12 14:03:36

标签: php mysql combinations

我的网站上有登录/注册系统,但我不知道如何匹配用户名。

如果我有一个名为" Vlajko"并且他只有在输入姓名时才能登录" Vlajko"但不是" vlajko"或任何其他组合,我如何防止注册名为" vlajKO"因为它不符合记录" Vlajko"从数据库进行检查我在PHP中,因为该列区分大小写?

所以,我有用户Vlajko,一个新用户正在尝试注册名称vlajKO(或vlajko)。 PHP通过数据库检查mysqli以获取名为vlajKO的记录,但它无法找到它,因为它不存在,并且Vlajko存在,用户可以使用确切的名称登录,以便列对区分大小写所以系统会让用户注册这个名字而我不想这样。

这有点令人困惑,但我希望你能理解。

3 个答案:

答案 0 :(得分:3)

SELECT as smallcase,

SELECT COUNT(*) FROM mytable WHERE LOWER(mytable.login) = LOWER('vlajKO');

如果它从0返回!=那么已经有人将这个名字称为非案例感觉

答案 1 :(得分:0)

更改列'名称' (或者你曾经使用过的)数据库中的主键,并且不可能保存2个具有相同值的条目(不区分大小写)。

答案 2 :(得分:0)

在注册期间检查现有用户名时,请修改条件的mysql查询: WHERE lower(username) = lower(?s),其中?s - 注册用户名