Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 防止重复添加到网站数据库的Sql语句_Php_Mysqli - Fatal编程技术网

Php 防止重复添加到网站数据库的Sql语句

Php 防止重复添加到网站数据库的Sql语句,php,mysqli,Php,Mysqli,我创建此代码是为了在数据库中注册用户。我无法做到的是,防止一次又一次地添加同一个用户。这是我的密码: connectDB(); $safe_fullname = mysqli_real_escape_string($mysqli,$_POST['fullname']); $safe_email = mysqli_real_escape_string($mysqli,$_POST['email']); $safe_password = mysqli_real_escape_string($mysq

我创建此代码是为了在数据库中注册用户。我无法做到的是,防止一次又一次地添加同一个用户。这是我的密码:

connectDB();
$safe_fullname = mysqli_real_escape_string($mysqli,$_POST['fullname']);
$safe_email = mysqli_real_escape_string($mysqli,$_POST['email']);
$safe_password = mysqli_real_escape_string($mysqli,$_POST['pass']);
$addStatement="Insert into Users (Fullname,Email,Password,Is_Admin) values ('".$safe_fullname."','".$safe_email."','".$safe_password."','N')";
$result = mysqli_query($mysqli,$addStatement) or die(mysqli_error($mysqli));

为电子邮件或用户名列(如果它是唯一的)向您的表添加唯一性:

ALTER TABLE Users ADD UNIQUE (Email);

这样,数据库只接受一个具有相同电子邮件地址或用户名的记录

另一种方法是使用给定的细节从DB中选择值。例如,让我们使用电子邮件列:

$res = mysqli_query($mysqli, "SELECT Email FROM Users WHERE Email = '{$_POST['email']}'");
if(count($res) > 0) {
   //exists => do stuff
} else {
   //doesn't exist => do stuff
}

如何定义“同一用户”?通过他们的电子邮件地址?可以为该列在表上设置唯一约束。此外,您可以对数据库执行
SELECT
,以检查现有值,如果找到,则向用户显示友好的错误消息。我尝试执行SELECT方法并查找用户是否已存在,但我遇到错误,因为您无法遇到两个全名相同的人,是吗?@Alexander这就是为什么他提到“如果它是独一无二的”。同样的email@OlafDietsche当我写评论的时候,他没有,我在你的帮助下成功了,我非常感谢!最后一个问题:我如何让它弹出一条消息,上面写着“用户存在”?因为我试过了,它给我一个空白页
$res = mysqli_query($mysqli, "SELECT Email FROM Users WHERE Email = '{$_POST['email']}'");
if(count($res) > 0) {
   //exists => do stuff
} else {
   //doesn't exist => do stuff
}