Bagaimana Membuat script validasi untuk mencegah duplikat data yang dimasukkan

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "survei";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

	$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');

?>

Siang para master,

Saya mau bertanya, Bagaimana Membuat script validasi untuk mencegah duplikat data yang dimasukkan.

saya cari dan coba ko ga ada yang pengaruh ya ? lolos begitu aja jadi duplikat data

Terimakasih

avatar habib580101
@habib580101

11 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

6 Jawaban:


/query untuk cek record sudah ada apa belum
$count = SELECT count(*) FROM gathering WHERE nama = [disini input nama]

if ( $count > 0 ) {
	echo "record sudah ada";
} else {
	//query INSERT disini
}


avatar mltobing
@mltobing

114 Kontribusi 77 Poin

Dipost 6 tahun yang lalu

Hasilnya error seperti dibawah ini: Parse error: syntax error, unexpected 'count' (T_STRING) in D:\xampp\htdocs\crud_bootstrap\addnew.php on line 13

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "survei";

	$nama=$_POST['nama'];
	$member=$_POST['member'];
	$peserta=$_POST['peserta'];
	$tour=$_POST['tour'];

	//query untuk cek record sudah ada apa belum
	$count = SELECT count(*) FROM gathering WHERE $member = ['member'];
	if ( $count > 0 ) {
	echo "record sudah ada";
	} else {

	mysqli_query($conn,"insert into gathering (nama, member, peserta, tour) values ('$nama', '$member', '$peserta', '$tour')");

	}
	header('location:index.php');

?>
avatar habib580101
@habib580101

11 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Wah bro, bukan di copy mentah2. itu harus masuk ke mysqli_query atau kalo codeigniter $db->query("SELECT COUNT(*) FROM mytable WHERE colum1=".$member); trus hasilnya masukkan ke variable $count..

Sama halnya anda mau mendapatkan nilai username dari tabel user. Kalo memakai mysqli_* Kira2 saja, soalnya ga pernah pakai

 $result = mysqli_query($conn, "SELECT * FROM gathering WHERE member=".$member);
$count = mysqli_num_rows($result);
avatar mltobing
@mltobing

114 Kontribusi 77 Poin

Dipost 6 tahun yang lalu

Baik om @mltobing,saya coba kembali

avatar habib580101
@habib580101

11 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

mysqli_num_rows(mysqli_query($GLOBALS["___mysqli_ston"], "SELECT * FROM tabel WHERE kolom='$variabel' and tps='$variabel2'")); if ($cek > 0) {

kalo saya pake yang atas om.. hasil convert mysql to mysqli... maaf om masih newbi..

avatar Ombaco
@Ombaco

4 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Code dari saya yg terakhir bisa anda pakai langsung, Pada script anda yang paling atas

 mysqli_query($conn,"insert into gathering (nama, member, peserta, tour) values ('$nama', '$member', '$peserta', '$tour')");

Saya tidak melihat $conn didefinisikan dimana ? (undefined)

 $conn=mysqli_connect("localhost","my_user","my_password","my_db");

Ref: https://www.w3schools.com/php/func_mysqli_num_rows.asp

avatar mltobing
@mltobing

114 Kontribusi 77 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban