【发布时间】:2021-12-31 19:35:27
【问题描述】:
我想制作一个简单的注册表单,我想检查电子邮件是否已被使用,如果没有将数据插入我的数据库。如果我提交表单,我会收到这个致命错误“完整性约束违规:1062 重复条目”,但数据还是提交了,我可以在我的数据库中看到它。如果我只插入数据或检查电子邮件是否已被使用,我不会收到此错误。也许有人可以帮助我。 这是代码:
html
<form action="test.php" method="POST">
<input type="text" name="name" placeholder="name" autofocus="on">
<input type="text" name="email" placeholder="email">
<input type="submit">
</form>
php
try
{
$pdo = new PDO($attr, $user, $pass, $opts);
}
catch (PDOException $e)
{
throw new PDOException($e->getMessage(), (int)$e->getCode());
}
if($_POST)
{
$name = $_POST['name'];
$email = $_POST['email'];
$emailAbfrage = "SELECT email FROM accounts";
$result = $pdo->query($emailAbfrage);
while($row = $result->fetch())
{
if($email == $row['email'])
{
echo "email ist schon vergeben";
}
else
{
$insert = $pdo->prepare("INSERT INTO `accounts`(`kundenname`, `email`) VALUES (?,?)");
$insert->execute(array($name, $email));
}
}
}
【问题讨论】: