我刚刚为我的网站建立了一个基本的注册系统,我无法弄清楚如何禁止重复的用户名,任何人都可以帮助我吗?
<?php
if(!empty($_POST['email']) && !empty($_POST['password'])){
$query = "INSERT INTO users (name, email, password) VALUES (:name, :email, :password)";
$stmt = $conn->prepare($query);
$stmt->bindValue(':name', $_POST['name']);
$stmt->bindValue(':email', $_POST['email']);
$stmt->bindValue(':password', password_hash($_POST['password'], PASSWORD_BCRYPT));
if( $stmt->execute() ){
echo 'Success';
} else {
echo 'Failure';
print $stmt->errorCode();
}
}
?>
答案 0 :(得分:0)
通过在表上定义唯一索引/约束来防止重复的用户名:
create unique index unq_users_name on users(name);
任何尝试插入或更新导致名称出现两次的值都会导致错误,插入将失败。