How do I avoid duplicate records insertion in PHP MYSQLi?
this my script :
$nama=$_POST['nama'];
$member=$_POST['member'];
$peserta=$_POST['peserta'];
$tour=$_POST['tour'];
mysqli_query($conn,"insert into gathering (nama, member, peserta, tour) values ('$nama', '$member', '$peserta', '$tour')");
header('location:index.php');
Below code will help you inserting unique data:
$result = mysqli_query($conn, "SELECT nama, member, peserta, tour FROM gathering where nama = '$nama' and member = '$member' and peserta='$peserta' and tour='$tour'")
$total = mysqli_num_rows($result);
if($total==0)
{
mysqli_query($conn,"insert into gathering (nama, member, peserta, tour)
values ('$nama', '$member', '$peserta', '$tour')");
}
1.You can alter table with Unique constraint :
ALTER TABLE mytbl ADD UNIQUE (columnName);
get record from table before insert record and check whether record is already exist or not.
$dupesql = "SELECT * FROM gathering where (nama = '$nama' )";
$duperaw = mysql_query($dupesql);
if (mysql_num_rows($duberaw) > 0) {
show error msg;
}else{
mysqli_query($conn,"insert into gathering (nama, member, peserta, tour) values ('$nama', '$member', '$peserta', '$tour')");
}
first check if the row exists and then insert
$res= mysqli_query($conn,"select * from gathering where nama='$nama' and member='$member' and peserta='$peserta' and tour='$tour'");
if(mysqli_num_rows($res)=0)
{
mysqli_query($conn,"insert into gathering (nama, member, peserta, tour) values ('$nama', '$member', '$peserta', '$tour')");
}
else
{
echo "record already exists";
}
tambahkan kolom dengan primary key
ALTER TABLE gathering ADD COLUMN `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST