Php 停止SQL数据库中同一行的两个字段中的重复项
我正在为我的网站创建一个注册表系统。每个报名表都有一个ID号。当用户注册时,它会将用户名和ID号发送到数据库。但是,我希望停止重复条目,以便同一用户只能注册一次事件。我不能在SQL查询中使用WHERE语句,我只是想知道解决这个问题的最佳方法是什么。我不能使用主键或唯一键,因为它们只能注册一个事件,或者只能注册一个事件。提前谢谢 这是页面的代码Php 停止SQL数据库中同一行的两个字段中的重复项,php,sql,database,login,duplicates,Php,Sql,Database,Login,Duplicates,我正在为我的网站创建一个注册表系统。每个报名表都有一个ID号。当用户注册时,它会将用户名和ID号发送到数据库。但是,我希望停止重复条目,以便同一用户只能注册一次事件。我不能在SQL查询中使用WHERE语句,我只是想知道解决这个问题的最佳方法是什么。我不能使用主键或唯一键,因为它们只能注册一个事件,或者只能注册一个事件。提前谢谢 这是页面的代码 <?php session_start(); $user = $_POST['username']; $id = $_POST['id']; i
<?php
session_start();
$user = $_POST['username'];
$id = $_POST['id'];
if(empty($user) == FALSE )
{
$con=mysqli_connect("localhost","emuas","flgdls","EMUAS_signUp");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO SIGN_UP_TEST (EventID, User, Comments)
VALUES
('$_POST[id]','$_SESSION[username]','$_POST[comments]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
header("Location: {$_SERVER['HTTP_REFERER']}");
}
else
{
header("Location: {$_SERVER['HTTP_REFERER']}");
}
?>
您可以添加此唯一密钥。它将使用户只能为每个事件注册一次
altertablesign\u-UP\u-TEST添加唯一索引(EventID,User)代码>如果使用复合主键(id和用户),则用户可以注册多个事件,但不能注册两次相同的事件
主键(id,用户)用户只能注册一个事件?或者他们只能为每个事件注册一次?每个事件只注册一次,抱歉,用词不好如果是mySql,你可以创建一个复合唯一密钥。见:,