Comment éviter l'insertion d'enregistrements en double dans PHP MYSQLi? voici mon 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');
3
Habib Musyaddat 23 nov. 2017 à 09:24

4 réponses

Meilleure réponse

Le code ci-dessous vous aidera à insérer des données uniques:

$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')");
} 
2
Amit Gupta 23 nov. 2017 à 06:43

Clé primaire tambahkan kolom dengan

ALTER TABLE gathering ADD COLUMN `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
0
Donald Wengki 23 nov. 2017 à 06:45

Vérifiez d'abord si la ligne existe, puis insérez

$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";
}
0
Anandhu Nadesh 23 nov. 2017 à 06:40

1.Vous pouvez modifier la table avec une contrainte unique:

ALTER TABLE mytbl ADD UNIQUE (columnName);
  1. obtenir l'enregistrement de la table avant d'insérer l'enregistrement et vérifier si l'enregistrement existe déjà ou non.

    $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')");
    }
    
1
Pramod Kharade 23 nov. 2017 à 06:49
47448893