我用php和mysql制作了一个注册表单。它只有在每次引入用户的不同名称时才有效。我怎么能重新解决这个问题呢?因为有时我想在数据库中插入相同的名称。
我的代码:
require('connect.php');
if (isset($_POST['adresa'])) {
$username = $_POST['username'];
$email = $_POST['email'];
$adresa = $_POST['adresa'];
$judet = $_POST['judet'];
$telefon = $_POST['telefon'];
$localitate = $_POST['localitate'];
$bon = $_POST['bon'];
$date = $_POST['date'];
$premiu = $_POST['premiu'];
$query = "INSERT INTO user (username, adresa, email,judet,telefon,localitate,bon,date,premiu,acord) VALUES ('$username', '$adresa', '$email','$judet','$telefon','$localitate','$bon','$date','$premiu','$acord')";
$result = mysql_query($query);
}
答案 0 :(得分:3)
用于检查用户名是否存在
<?php
require('connect.php');
if (isset($_POST['adresa'])) {
$username = $_POST['username'];
$email = $_POST['email'];
$adresa = $_POST['adresa'];
$judet = $_POST['judet'];
$telefon = $_POST['telefon'];
$localitate = $_POST['localitate'];
$bon = $_POST['bon'];
$date = $_POST['date'];
$premiu = $_POST['premiu'];
$chk_query = mysql_query("Select (username) from user where username=$username");
$num = mysql_num_rows($chk_query);
if($num < 1)
{
$query = "INSERT INTO user (username, adresa, email,judet,telefon,localitate,bon,date,premiu,acord) VALUES ('$username', '$adresa', '$email','$judet','$telefon','$localitate','$bon','$date','$premiu','$acord')";
$result = mysql_query($query);
}
else { echo "User name exist"; }
}
?>
答案 1 :(得分:0)
如果您无法将多个具有相同名称的用户插入数据库,那么username
字段必须在表声明中标记为UNIQUE
。
要删除此限制,请使用DROP INDEX
请注意,如果username
字段是主键,则需要删除主键并引入另一个主键,例如BIGINT
(最佳选项)。
重要:不推荐使用mysql_
个函数,您应该停止使用它们。请改用mysqli_
或PDO