php - php如何避免重复数据

标签 php mysql mysqli

当我们再次输入相同的数据时,如何避免重复数据?相反,我想发出警告:

sorry your username has been used

我正在使用 php 脚本,我这样做是为了克服重复数据,但结果出现意外错误。

这是我的代码,如果您愿意,请更正。谢谢

<?php

if (isset($_POST['submit'])) {

    $npm_siswa = $_POST['npm_siswa'];
    $nama_siswa = $_POST['nama_siswa'];
    $bidangst_siswa = $_POST['bidangst_siswa'];
    $ipk_siswa = $_POST['ipk_siswa']; 

    $query ="INSERT INTO class(npm_siswa, nama_siswa, bidangst_siswa, ipk_siswa) VALUES('$npm_siswa','$nama_siswa','$bidangst_siswa','$ipk_siswa')";

    $insert_data = mysqli_query($con, $query);
    $goto = header('location: input_data.php');
    if (headers_sent($goto) == true) {
        exit();
    }
}

$checking = "SELECT * FROM class WHERE npm_siswa ='$npm_siswa'";

$process = mysqli_query($con, $checking) or die(mysqli_error());
while($row_filter = mysqli_fetch_assoc($process)) {
    $kelasId = $row_filter['kelasId'];
    $npm_siswa = $row_filter['npm_siswa'];
    $nama_siswa = $row_filter['nama_siswa'];
    $bidangst_siswa = $row_filter['bidangst_siswa'];
    $ipk_siswa = $row_filter['ipk_siswa'];
}

if (mysqli_num_rows($process) > 0) {
    echo "maaf nama anda sudah digunakan"; 
} else {
    $data = "INSERT INTO class(npm_siswa, nama_siswa, bidangst_siswa, ipk_siswa) VALUES('$npm_siswa','$nama_siswa','$bidangst_siswa','$ipk_siswa')";
    $check = mysqli_query($con, $data);
}

?>

最佳答案

最简单的方法是首先使用 select 语句从 mysql 中选择行,然后检查数组是否为空。

$checking = "SELECT * FROM class WHERE npm_siswa ='$npm_siswa'";

$process = mysqli_query($con, $checking) or die(mysqli_error());

if(empty($process)) {
    echo "maaf nama anda sudah digunakan"; 
} else {
    $data = "INSERT INTO class(npm_siswa, nama_siswa, bidangst_siswa, ipk_siswa) VALUES('$npm_siswa','$nama_siswa','$bidangst_siswa','$ipk_siswa')";
    $check = mysqli_query($con, $data);
}

关于php - php如何避免重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53166522/

相关文章:

php - 将 yii 默认用户名字段更改为电子邮件字段以进行登录

mysql - 文件 "my.ini"是不是放错地方了?

MYSQL 计算最大行数

php - 从 PHPMyAdmin 中删除数据时,DELETE 链接在 PHP 中不执行任何操作

php - 执行 mysqli_query 时 SQL 语法错误

php - 如果列位于另一列中,MYSQL 显示结果就像

php 帮助理解这一行的作用,或翻译为 C#

php 命名空间和自动加载

php - SQL查询条件不起作用

php - 尝试从 mysql 实现 mysqli。 Mysql 不工作