Php注册表单与mysql

时间:2016-04-28 10:13:20

标签: php 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);
}

2 个答案:

答案 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