问题描述
我知道我的代码看起来很糟糕,但我刚开始使用 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”(自动增量)并确保它用作主键(键符号)。
,试试这个
$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
}
}