Php 登录网站

Php 登录网站,php,mysql,Php,Mysql,我正在设计一个用户登录的网站。创建帐户时,我会检查用户名是否已经存在。这个检查应该在脚本中完成,还是应该将用户名作为表的主键?我正在使用MySQL和PHP 因此,我应该编写一个脚本来查询数据库,检查所提供的用户名是否已经在使用,还是应该尝试插入给定的用户名并将该字段作为主键,如果失败,则意味着用户名正在使用?我会采取在数据库,然后在数据库上尝试插入。不要先检查现有用户名,因为这只是一个不必要的查询 然后,您可以评估mysql响应,以确定插入是否由于重复键而失败,或者是否有其他错误。我不会将用户名

我正在设计一个用户登录的网站。创建帐户时,我会检查用户名是否已经存在。这个检查应该在脚本中完成,还是应该将用户名作为表的主键?我正在使用MySQL和PHP


因此,我应该编写一个脚本来查询数据库,检查所提供的用户名是否已经在使用,还是应该尝试插入给定的用户名并将该字段作为主键,如果失败,则意味着用户名正在使用?

我会采取在数据库,然后在数据库上尝试插入。不要先检查现有用户名,因为这只是一个不必要的查询


然后,您可以评估mysql响应,以确定插入是否由于重复键而失败,或者是否有其他错误。

我不会将用户名作为主键,但我建议使用唯一约束…您可以在用户名列中添加唯一约束,而无需将其作为主键。这取决于用户帐户是否可以被停用,然后为“新建”重新激活用户。至少这应该是一个唯一的约束。@MichaelFredrickson将用户名作为主键有什么缺点?