使用mysql的Php注册表单


Php register form with mysql

我已经用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);
}
用于

检查用户名是否存在

<?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"; }
}
?>

如果无法将具有相同名称的多个用户插入数据库,则必须在表声明中将username字段标记为UNIQUE

要删除此限制,请使用 DROP INDEX

请注意,如果username字段是主键,则需要删除主键并引入另一个主键,例如BIGINT(最佳选项)。

重要提示mysql_函数已弃用,您应该停止使用它们。改用mysqli_PDO