我打算让用户使用其电子邮件地址或用户名登录,但我想知道如何在MySQL中正确执行此操作。
我目前正在验证用户名和电子邮件字段(PHP),以确保它们尚未在数据库中。这些查询发生在将要添加用户的实际插入查询之前。我想象添加一个唯一索引对于使用单个身份登录的系统来说足够了-但是在这种情况下,两个字段需要唯一性又如何呢?为每列添加唯一索引是否足够?
此外,使用此方法可能会遇到任何问题吗?
提前致谢。
最佳答案
我不会依赖索引-最好先在数据库中针对这两个值中的每一个进行搜索。唯一索引也值得添加,但是捕获这些事件绝不值得依靠。
在我进行登录的网站上,如果用户名带有@符号,我认为它是一封电子邮件,并查找相应的用户名(我需要用,因为密码在该系统中以用户名的形式散列为盐)。
关于mysql - 使用用户名或电子邮件登录-MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068918/