我的表单只添加了一个用户,当我删除数据库中的前一个用户时,我可以添加另一个用户任何人有任何提示?

问题描述

我知道我的代码看起来很糟糕,但我刚开始使用 PHP。我无法解决这个问题,我已经在网上找了好几个小时了。

    $sql = "INSERT INTO user (username,pass) VALUES ('$username','$pass')"; 
    $sql_check = "SELECT * FROM user WHERE username = '$username'";
    $res = $conn->query($sql);
    $res_check = $conn->query($sql_check);


    if ($res_check->num_rows > 0) {
        $melding = "Gebruikersnaam is al in gebruik";  
    } else if($res) {
        $melding =  "Gebruiker geregistreerd";
    } else {
        $melding =  "Gebruiker niet geregistreerd";
    }

解决方法

你应该检查你的表是否已经有一个唯一的和自动递增的索引!

说明: 如果你添加一个条目,数据库会给它一个唯一的 id(从 1 开始计数)。 但如果该字段未设置为“自动递增”,则索引将始终为零,因此将无法添加另一个条目。

在 phpmyadmin 中: 转到“结构”并编辑字段 ID。检查“AI”(自动增量)并确保它用作主键(键符号)。

enter image description here

,

试试这个

$conn
是mysql连接变量
$username
用户名变量
$pass
是用户密码

user_signup($conn,$username,$pass);
// Call function 
function user_signup($conn,$user_name,$password)
{
$sql_check = "SELECT * FROM user WHERE username = '$user_name'";
$res_check = $conn->query($sql_check);
if ($res_check->num_rows > 0) {
echo "Username already exists!";
} else{
$sql = "INSERT INTO user (username,pass) VALUES ('$user_name','$password')"; 
$conn->query($sql);
echo "insert data successfully"; 
// you can redirect another page
}
}